From 46c582d584808ef767f3e8a2981c9610f234189e Mon Sep 17 00:00:00 2001 From: James Hush Date: Tue, 27 Aug 2024 14:17:57 +0800 Subject: [PATCH 1/2] 1.0.1 Rever gemfile Fix lockfile Update Gemfile Generate again? Fix generation bug Remove test Update example Update example --- .openapi-generator/FILES | 178 +++--- .openapi-generator/VERSION | 2 +- .travis.yml | 2 +- Gemfile | 2 +- Gemfile.lock | 35 +- README.md | 397 ++++++------- daily-ruby.gemspec | 3 +- docs/BatchProcessorError.md | 24 + docs/BatchProcessorErrorPayload.md | 26 + docs/BatchProcessorErrorPayloadInput.md | 24 + docs/BatchProcessorJobFinished.md | 24 + docs/BatchProcessorJobFinishedPayload.md | 26 + docs/BatchProcessorJobFinishedPayloadInput.md | 24 + .../BatchProcessorJobFinishedPayloadOutput.md | 24 + ...rocessorJobFinishedPayloadOutputConcept.md | 20 + ...chProcessorJobFinishedPayloadOutputSoap.md | 20 + ...sorJobFinishedPayloadOutputSoapS3Config.md | 22 + ...rocessorJobFinishedPayloadOutputSummary.md | 20 + ...FinishedPayloadOutputTranscriptionInner.md | 20 + docs/BuyPhoneNumberRequest.md | 18 + docs/DailyStreamingCustomLayoutConfig.md | 2 +- ...ustomLayoutConfigCompositionParamsValue.md | 15 + docs/DialinApi.md | 80 +++ docs/DialoutProperties.md | 26 + docs/DialoutPropertiesCodecs.md | 20 + docs/DomainProperties.md | 18 +- docs/EjectRequest.md | 8 +- docs/GetDomainConfig200ResponseConfig.md | 2 + docs/GetTranscriptInfo200Response.md | 2 +- docs/ListAPILogs200Response.md | 2 +- docs/MeetingEnded.md | 24 + docs/MeetingEndedPayload.md | 24 + docs/MeetingParticipantsGetRes.md | 2 - docs/MeetingStarted.md | 24 + docs/MeetingStartedPayload.md | 22 + docs/ParticipantJoined.md | 24 + docs/ParticipantJoinedPayload.md | 32 ++ docs/ParticipantJoinedPayloadPermissions.md | 22 + docs/ParticipantLeft.md | 24 + docs/ParticipantLeftPayload.md | 34 ++ docs/PhoneNumbersApi.md | 304 ++++++++++ docs/PinDialinInner.md | 22 + docs/PinDialinInnerIvrGreeting.md | 18 + docs/PinlessCallUpdateRequest.md | 22 + docs/PinlessDialinInner.md | 24 + docs/PostWebhook.md | 6 +- docs/Properties.md | 4 +- docs/RecordingError.md | 2 +- docs/RecordingReadyToDownload.md | 2 +- docs/RecordingStarted.md | 2 +- docs/RoomDialOutSendDTMFRequest.md | 20 + docs/RoomDialOutStopRequest.md | 18 + docs/RoomProperties.md | 14 +- docs/RoomSipCallTransferRequest.md | 20 + docs/RoomsApi.md | 376 ++++++++++++ docs/StreamingEnded.md | 2 +- docs/StreamingError.md | 2 +- docs/StreamingStarted.md | 2 +- docs/StreamingUpdated.md | 2 +- docs/TranscriptionProperties.md | 6 +- docs/UpdateWebhook.md | 6 +- docs/WaitingParticipantJoined.md | 24 + docs/WaitingParticipantJoinedPayload.md | 32 ++ docs/WaitingParticipantLeft.md | 24 + docs/WaitingParticipantLeftPayload.md | 34 ++ docs/Webhook.md | 10 +- example.rb | 12 +- lib/daily-ruby.rb | 41 +- lib/daily-ruby/api/batch_rooms_api.rb | 6 +- lib/daily-ruby/api/dialin_api.rb | 86 +++ lib/daily-ruby/api/domain_api.rb | 6 +- lib/daily-ruby/api/logs_api.rb | 8 +- lib/daily-ruby/api/meeting_tokens_api.rb | 6 +- lib/daily-ruby/api/meetings_api.rb | 8 +- lib/daily-ruby/api/phone_numbers_api.rb | 281 +++++++++ lib/daily-ruby/api/presence_api.rb | 4 +- lib/daily-ruby/api/recordings_api.rb | 10 +- lib/daily-ruby/api/rooms_api.rb | 390 ++++++++++++- lib/daily-ruby/api/transcript_api.rb | 12 +- lib/daily-ruby/api/webhooks_api.rb | 12 +- lib/daily-ruby/api_client.rb | 62 +- lib/daily-ruby/api_error.rb | 2 +- lib/daily-ruby/configuration.rb | 12 +- .../models/batch_processor_error.rb | 278 +++++++++ .../models/batch_processor_error_payload.rb | 289 ++++++++++ .../batch_processor_error_payload_input.rb | 280 +++++++++ .../models/batch_processor_job_finished.rb | 278 +++++++++ .../batch_processor_job_finished_payload.rb | 288 ++++++++++ ...ch_processor_job_finished_payload_input.rb | 280 +++++++++ ...h_processor_job_finished_payload_output.rb | 245 ++++++++ ...sor_job_finished_payload_output_concept.rb | 259 +++++++++ ...cessor_job_finished_payload_output_soap.rb | 259 +++++++++ ..._finished_payload_output_soap_s3_config.rb | 236 ++++++++ ...sor_job_finished_payload_output_summary.rb | 259 +++++++++ ...shed_payload_output_transcription_inner.rb | 258 +++++++++ .../models/batch_room_create_request.rb | 2 +- .../batch_room_create_request_rooms_inner.rb | 2 +- .../models/batch_room_delete200_response.rb | 2 +- .../models/buy_phone_number_request.rb | 215 +++++++ .../create_meeting_token200_response.rb | 2 +- .../models/create_meeting_token_request.rb | 2 +- .../models/create_room200_response.rb | 2 +- lib/daily-ruby/models/create_room_request.rb | 2 +- .../models/daily_live_streaming_options.rb | 2 +- .../daily_live_streaming_options_rtmp_url.rb | 2 +- ...eaming_active_participant_layout_config.rb | 6 +- .../daily_streaming_custom_layout_config.rb | 8 +- ...custom_layout_config_composition_params.rb | 2 +- ..._layout_config_composition_params_value.rb | 105 ++++ .../daily_streaming_default_layout_config.rb | 6 +- .../models/daily_streaming_endpoint.rb | 2 +- .../models/daily_streaming_layout_config.rb | 2 +- .../models/daily_streaming_options.rb | 2 +- .../daily_streaming_portrait_layout_config.rb | 6 +- ...daily_streaming_portrait_layout_variant.rb | 5 +- ...eaming_single_participant_layout_config.rb | 6 +- .../models/delete_transcript200_response.rb | 6 +- lib/daily-ruby/models/dialout_properties.rb | 254 +++++++++ .../models/dialout_properties_codecs.rb | 228 ++++++++ lib/daily-ruby/models/domain.rb | 2 +- lib/daily-ruby/models/domain_properties.rb | 90 ++- lib/daily-ruby/models/eject200_response.rb | 2 +- lib/daily-ruby/models/eject_request.rb | 36 +- .../models/get_domain_config200_response.rb | 2 +- .../get_domain_config200_response_config.rb | 13 +- ...ig200_response_config_recordings_bucket.rb | 2 +- .../models/get_meeting_info200_response.rb | 2 +- ...get_meeting_info200_response_data_inner.rb | 2 +- ..._response_data_inner_participants_inner.rb | 2 +- .../models/get_presence200_response.rb | 2 +- ...sponse_aivw_whz_hl_lhr_sd_hdw7_ew_inner.rb | 2 +- .../models/get_recording_info200_response.rb | 6 +- ...recording_info200_response_tracks_inner.rb | 6 +- .../models/get_recording_link200_response.rb | 2 +- .../models/get_transcript_info200_response.rb | 8 +- ..._transcript_info200_response_out_params.rb | 3 +- .../models/get_transcript_link200_response.rb | 2 +- .../models/list_api_logs200_response.rb | 4 +- .../models/list_recordings200_response.rb | 2 +- .../list_recordings200_response_data_inner.rb | 2 +- .../models/list_rooms200_response.rb | 2 +- .../list_rooms200_response_data_inner.rb | 2 +- ...ist_rooms200_response_data_inner_config.rb | 2 +- .../models/list_transcript200_response.rb | 2 +- .../list_transcript200_response_data_inner.rb | 6 +- lib/daily-ruby/models/meeting_ended.rb | 278 +++++++++ .../models/meeting_ended_payload.rb | 246 ++++++++ .../models/meeting_participants_get_res.rb | 13 +- ...meeting_participants_get_res_data_inner.rb | 2 +- lib/daily-ruby/models/meeting_started.rb | 278 +++++++++ .../models/meeting_started_payload.rb | 236 ++++++++ .../models/meetings_meeting_get_res.rb | 2 +- lib/daily-ruby/models/participant_joined.rb | 278 +++++++++ .../models/participant_joined_payload.rb | 285 ++++++++++ .../participant_joined_payload_permissions.rb | 240 ++++++++ lib/daily-ruby/models/participant_left.rb | 278 +++++++++ .../models/participant_left_payload.rb | 295 ++++++++++ lib/daily-ruby/models/permissions.rb | 2 +- .../models/permissions_can_admin.rb | 2 +- lib/daily-ruby/models/permissions_can_send.rb | 2 +- lib/daily-ruby/models/pin_dialin_inner.rb | 234 ++++++++ .../models/pin_dialin_inner_ivr_greeting.rb | 215 +++++++ .../models/pinless_call_update_request.rb | 235 ++++++++ lib/daily-ruby/models/pinless_dialin_inner.rb | 245 ++++++++ lib/daily-ruby/models/post_webhook.rb | 42 +- lib/daily-ruby/models/properties.rb | 24 +- lib/daily-ruby/models/recording_error.rb | 8 +- .../models/recording_error_payload.rb | 6 +- .../models/recording_ready_to_download.rb | 8 +- .../recording_ready_to_download_payload.rb | 10 +- lib/daily-ruby/models/recording_started.rb | 8 +- .../models/recording_started_payload.rb | 6 +- .../models/recording_streaming_options.rb | 6 +- lib/daily-ruby/models/recordings_bucket.rb | 2 +- .../models/room_dial_out_send_dtmf_request.rb | 224 ++++++++ .../models/room_dial_out_stop_request.rb | 215 +++++++ lib/daily-ruby/models/room_properties.rb | 76 ++- ...om_properties_streaming_endpoints_inner.rb | 534 +++++++++--------- ...dpoints_inner_hls_config_variants_inner.rb | 2 +- .../models/room_sip_call_transfer_request.rb | 224 ++++++++ .../models/rooms_room_name_get_res.rb | 2 +- .../rooms_room_name_presence_get_res.rb | 2 +- ...s_room_name_presence_get_res_data_inner.rb | 2 +- .../models/send_app_message_request.rb | 2 +- .../models/set_room_config_request.rb | 2 +- .../models/set_session_data_request.rb | 6 +- lib/daily-ruby/models/streaming_ended.rb | 8 +- .../models/streaming_ended_payload.rb | 2 +- lib/daily-ruby/models/streaming_error.rb | 8 +- .../models/streaming_error_payload.rb | 2 +- lib/daily-ruby/models/streaming_started.rb | 8 +- .../models/streaming_started_payload.rb | 2 +- lib/daily-ruby/models/streaming_updated.rb | 8 +- .../models/streaming_updated_payload.rb | 2 +- lib/daily-ruby/models/transcription_bucket.rb | 2 +- .../models/transcription_properties.rb | 22 +- .../transcription_properties_endpointing.rb | 2 +- .../models/transcription_properties_redact.rb | 2 +- .../models/update_permissions_request.rb | 2 +- .../update_permissions_request_data_value.rb | 2 +- ...permissions_request_data_value_can_send.rb | 2 +- lib/daily-ruby/models/update_webhook.rb | 42 +- .../validate_meeting_token200_response.rb | 2 +- .../models/waiting_participant_joined.rb | 278 +++++++++ .../waiting_participant_joined_payload.rb | 285 ++++++++++ .../models/waiting_participant_left.rb | 278 +++++++++ .../waiting_participant_left_payload.rb | 295 ++++++++++ lib/daily-ruby/models/webhook.rb | 42 +- lib/daily-ruby/version.rb | 4 +- run.sh | 6 +- spec/api/dialin_api_spec.rb | 47 ++ spec/api/phone_numbers_api_spec.rb | 87 +++ ...atch_processor_error_payload_input_spec.rb | 58 ++ .../batch_processor_error_payload_spec.rb | 64 +++ spec/models/batch_processor_error_spec.rb | 58 ++ ...ocessor_job_finished_payload_input_spec.rb | 58 ++ ...ob_finished_payload_output_concept_spec.rb | 46 ++ ...shed_payload_output_soap_s3_config_spec.rb | 48 ++ ...r_job_finished_payload_output_soap_spec.rb | 46 ++ ...cessor_job_finished_payload_output_spec.rb | 54 ++ ...ob_finished_payload_output_summary_spec.rb | 46 ++ ...payload_output_transcription_inner_spec.rb | 46 ++ ...tch_processor_job_finished_payload_spec.rb | 64 +++ .../batch_processor_job_finished_spec.rb | 58 ++ spec/models/buy_phone_number_request_spec.rb | 36 ++ ...t_config_composition_params_value_spec.rb} | 6 +- spec/models/dialout_properties_codecs_spec.rb | 42 ++ spec/models/dialout_properties_spec.rb | 60 ++ spec/models/meeting_ended_payload_spec.rb | 54 ++ spec/models/meeting_ended_spec.rb | 58 ++ spec/models/meeting_started_payload_spec.rb | 48 ++ spec/models/meeting_started_spec.rb | 58 ++ ...icipant_joined_payload_permissions_spec.rb | 48 ++ .../models/participant_joined_payload_spec.rb | 78 +++ spec/models/participant_joined_spec.rb | 58 ++ spec/models/participant_left_payload_spec.rb | 84 +++ spec/models/participant_left_spec.rb | 58 ++ .../pin_dialin_inner_ivr_greeting_spec.rb | 36 ++ spec/models/pin_dialin_inner_spec.rb | 48 ++ .../pinless_call_update_request_spec.rb | 48 ++ spec/models/pinless_dialin_inner_spec.rb | 54 ++ .../room_dial_out_send_dtmf_request_spec.rb | 42 ++ .../models/room_dial_out_stop_request_spec.rb | 36 ++ .../room_sip_call_transfer_request_spec.rb | 42 ++ ...waiting_participant_joined_payload_spec.rb | 78 +++ .../models/waiting_participant_joined_spec.rb | 58 ++ .../waiting_participant_left_payload_spec.rb | 84 +++ spec/models/waiting_participant_left_spec.rb | 58 ++ spec/spec_helper.rb | 2 +- 249 files changed, 14774 insertions(+), 923 deletions(-) create mode 100644 docs/BatchProcessorError.md create mode 100644 docs/BatchProcessorErrorPayload.md create mode 100644 docs/BatchProcessorErrorPayloadInput.md create mode 100644 docs/BatchProcessorJobFinished.md create mode 100644 docs/BatchProcessorJobFinishedPayload.md create mode 100644 docs/BatchProcessorJobFinishedPayloadInput.md create mode 100644 docs/BatchProcessorJobFinishedPayloadOutput.md create mode 100644 docs/BatchProcessorJobFinishedPayloadOutputConcept.md create mode 100644 docs/BatchProcessorJobFinishedPayloadOutputSoap.md create mode 100644 docs/BatchProcessorJobFinishedPayloadOutputSoapS3Config.md create mode 100644 docs/BatchProcessorJobFinishedPayloadOutputSummary.md create mode 100644 docs/BatchProcessorJobFinishedPayloadOutputTranscriptionInner.md create mode 100644 docs/BuyPhoneNumberRequest.md create mode 100644 docs/DailyStreamingCustomLayoutConfigCompositionParamsValue.md create mode 100644 docs/DialinApi.md create mode 100644 docs/DialoutProperties.md create mode 100644 docs/DialoutPropertiesCodecs.md create mode 100644 docs/MeetingEnded.md create mode 100644 docs/MeetingEndedPayload.md create mode 100644 docs/MeetingStarted.md create mode 100644 docs/MeetingStartedPayload.md create mode 100644 docs/ParticipantJoined.md create mode 100644 docs/ParticipantJoinedPayload.md create mode 100644 docs/ParticipantJoinedPayloadPermissions.md create mode 100644 docs/ParticipantLeft.md create mode 100644 docs/ParticipantLeftPayload.md create mode 100644 docs/PhoneNumbersApi.md create mode 100644 docs/PinDialinInner.md create mode 100644 docs/PinDialinInnerIvrGreeting.md create mode 100644 docs/PinlessCallUpdateRequest.md create mode 100644 docs/PinlessDialinInner.md create mode 100644 docs/RoomDialOutSendDTMFRequest.md create mode 100644 docs/RoomDialOutStopRequest.md create mode 100644 docs/RoomSipCallTransferRequest.md create mode 100644 docs/WaitingParticipantJoined.md create mode 100644 docs/WaitingParticipantJoinedPayload.md create mode 100644 docs/WaitingParticipantLeft.md create mode 100644 docs/WaitingParticipantLeftPayload.md create mode 100644 lib/daily-ruby/api/dialin_api.rb create mode 100644 lib/daily-ruby/api/phone_numbers_api.rb create mode 100644 lib/daily-ruby/models/batch_processor_error.rb create mode 100644 lib/daily-ruby/models/batch_processor_error_payload.rb create mode 100644 lib/daily-ruby/models/batch_processor_error_payload_input.rb create mode 100644 lib/daily-ruby/models/batch_processor_job_finished.rb create mode 100644 lib/daily-ruby/models/batch_processor_job_finished_payload.rb create mode 100644 lib/daily-ruby/models/batch_processor_job_finished_payload_input.rb create mode 100644 lib/daily-ruby/models/batch_processor_job_finished_payload_output.rb create mode 100644 lib/daily-ruby/models/batch_processor_job_finished_payload_output_concept.rb create mode 100644 lib/daily-ruby/models/batch_processor_job_finished_payload_output_soap.rb create mode 100644 lib/daily-ruby/models/batch_processor_job_finished_payload_output_soap_s3_config.rb create mode 100644 lib/daily-ruby/models/batch_processor_job_finished_payload_output_summary.rb create mode 100644 lib/daily-ruby/models/batch_processor_job_finished_payload_output_transcription_inner.rb create mode 100644 lib/daily-ruby/models/buy_phone_number_request.rb create mode 100644 lib/daily-ruby/models/daily_streaming_custom_layout_config_composition_params_value.rb create mode 100644 lib/daily-ruby/models/dialout_properties.rb create mode 100644 lib/daily-ruby/models/dialout_properties_codecs.rb create mode 100644 lib/daily-ruby/models/meeting_ended.rb create mode 100644 lib/daily-ruby/models/meeting_ended_payload.rb create mode 100644 lib/daily-ruby/models/meeting_started.rb create mode 100644 lib/daily-ruby/models/meeting_started_payload.rb create mode 100644 lib/daily-ruby/models/participant_joined.rb create mode 100644 lib/daily-ruby/models/participant_joined_payload.rb create mode 100644 lib/daily-ruby/models/participant_joined_payload_permissions.rb create mode 100644 lib/daily-ruby/models/participant_left.rb create mode 100644 lib/daily-ruby/models/participant_left_payload.rb create mode 100644 lib/daily-ruby/models/pin_dialin_inner.rb create mode 100644 lib/daily-ruby/models/pin_dialin_inner_ivr_greeting.rb create mode 100644 lib/daily-ruby/models/pinless_call_update_request.rb create mode 100644 lib/daily-ruby/models/pinless_dialin_inner.rb create mode 100644 lib/daily-ruby/models/room_dial_out_send_dtmf_request.rb create mode 100644 lib/daily-ruby/models/room_dial_out_stop_request.rb create mode 100644 lib/daily-ruby/models/room_sip_call_transfer_request.rb create mode 100644 lib/daily-ruby/models/waiting_participant_joined.rb create mode 100644 lib/daily-ruby/models/waiting_participant_joined_payload.rb create mode 100644 lib/daily-ruby/models/waiting_participant_left.rb create mode 100644 lib/daily-ruby/models/waiting_participant_left_payload.rb create mode 100644 spec/api/dialin_api_spec.rb create mode 100644 spec/api/phone_numbers_api_spec.rb create mode 100644 spec/models/batch_processor_error_payload_input_spec.rb create mode 100644 spec/models/batch_processor_error_payload_spec.rb create mode 100644 spec/models/batch_processor_error_spec.rb create mode 100644 spec/models/batch_processor_job_finished_payload_input_spec.rb create mode 100644 spec/models/batch_processor_job_finished_payload_output_concept_spec.rb create mode 100644 spec/models/batch_processor_job_finished_payload_output_soap_s3_config_spec.rb create mode 100644 spec/models/batch_processor_job_finished_payload_output_soap_spec.rb create mode 100644 spec/models/batch_processor_job_finished_payload_output_spec.rb create mode 100644 spec/models/batch_processor_job_finished_payload_output_summary_spec.rb create mode 100644 spec/models/batch_processor_job_finished_payload_output_transcription_inner_spec.rb create mode 100644 spec/models/batch_processor_job_finished_payload_spec.rb create mode 100644 spec/models/batch_processor_job_finished_spec.rb create mode 100644 spec/models/buy_phone_number_request_spec.rb rename spec/models/{daily_streaming_custom_layout_config_composition_params_spec.rb => daily_streaming_custom_layout_config_composition_params_value_spec.rb} (94%) create mode 100644 spec/models/dialout_properties_codecs_spec.rb create mode 100644 spec/models/dialout_properties_spec.rb create mode 100644 spec/models/meeting_ended_payload_spec.rb create mode 100644 spec/models/meeting_ended_spec.rb create mode 100644 spec/models/meeting_started_payload_spec.rb create mode 100644 spec/models/meeting_started_spec.rb create mode 100644 spec/models/participant_joined_payload_permissions_spec.rb create mode 100644 spec/models/participant_joined_payload_spec.rb create mode 100644 spec/models/participant_joined_spec.rb create mode 100644 spec/models/participant_left_payload_spec.rb create mode 100644 spec/models/participant_left_spec.rb create mode 100644 spec/models/pin_dialin_inner_ivr_greeting_spec.rb create mode 100644 spec/models/pin_dialin_inner_spec.rb create mode 100644 spec/models/pinless_call_update_request_spec.rb create mode 100644 spec/models/pinless_dialin_inner_spec.rb create mode 100644 spec/models/room_dial_out_send_dtmf_request_spec.rb create mode 100644 spec/models/room_dial_out_stop_request_spec.rb create mode 100644 spec/models/room_sip_call_transfer_request_spec.rb create mode 100644 spec/models/waiting_participant_joined_payload_spec.rb create mode 100644 spec/models/waiting_participant_joined_spec.rb create mode 100644 spec/models/waiting_participant_left_payload_spec.rb create mode 100644 spec/models/waiting_participant_left_spec.rb diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 73fc3f4..e6815e2 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -7,10 +7,23 @@ Gemfile README.md Rakefile daily-ruby.gemspec +docs/BatchProcessorError.md +docs/BatchProcessorErrorPayload.md +docs/BatchProcessorErrorPayloadInput.md +docs/BatchProcessorJobFinished.md +docs/BatchProcessorJobFinishedPayload.md +docs/BatchProcessorJobFinishedPayloadInput.md +docs/BatchProcessorJobFinishedPayloadOutput.md +docs/BatchProcessorJobFinishedPayloadOutputConcept.md +docs/BatchProcessorJobFinishedPayloadOutputSoap.md +docs/BatchProcessorJobFinishedPayloadOutputSoapS3Config.md +docs/BatchProcessorJobFinishedPayloadOutputSummary.md +docs/BatchProcessorJobFinishedPayloadOutputTranscriptionInner.md docs/BatchRoomCreateRequest.md docs/BatchRoomCreateRequestRoomsInner.md docs/BatchRoomDelete200Response.md docs/BatchRoomsApi.md +docs/BuyPhoneNumberRequest.md docs/CreateMeetingToken200Response.md docs/CreateMeetingTokenRequest.md docs/CreateRoom200Response.md @@ -19,7 +32,7 @@ docs/DailyLiveStreamingOptions.md docs/DailyLiveStreamingOptionsRtmpUrl.md docs/DailyStreamingActiveParticipantLayoutConfig.md docs/DailyStreamingCustomLayoutConfig.md -docs/DailyStreamingCustomLayoutConfigCompositionParams.md +docs/DailyStreamingCustomLayoutConfigCompositionParamsValue.md docs/DailyStreamingDefaultLayoutConfig.md docs/DailyStreamingEndpoint.md docs/DailyStreamingLayoutConfig.md @@ -28,6 +41,9 @@ docs/DailyStreamingPortraitLayoutConfig.md docs/DailyStreamingPortraitLayoutVariant.md docs/DailyStreamingSingleParticipantLayoutConfig.md docs/DeleteTranscript200Response.md +docs/DialinApi.md +docs/DialoutProperties.md +docs/DialoutPropertiesCodecs.md docs/Domain.md docs/DomainApi.md docs/DomainProperties.md @@ -56,14 +72,28 @@ docs/ListRooms200ResponseDataInnerConfig.md docs/ListTranscript200Response.md docs/ListTranscript200ResponseDataInner.md docs/LogsApi.md +docs/MeetingEnded.md +docs/MeetingEndedPayload.md docs/MeetingParticipantsGetRes.md docs/MeetingParticipantsGetResDataInner.md +docs/MeetingStarted.md +docs/MeetingStartedPayload.md docs/MeetingTokensApi.md docs/MeetingsApi.md docs/MeetingsMeetingGetRes.md +docs/ParticipantJoined.md +docs/ParticipantJoinedPayload.md +docs/ParticipantJoinedPayloadPermissions.md +docs/ParticipantLeft.md +docs/ParticipantLeftPayload.md docs/Permissions.md docs/PermissionsCanAdmin.md docs/PermissionsCanSend.md +docs/PhoneNumbersApi.md +docs/PinDialinInner.md +docs/PinDialinInnerIvrGreeting.md +docs/PinlessCallUpdateRequest.md +docs/PinlessDialinInner.md docs/PostWebhook.md docs/PresenceApi.md docs/Properties.md @@ -76,9 +106,12 @@ docs/RecordingStartedPayload.md docs/RecordingStreamingOptions.md docs/RecordingsApi.md docs/RecordingsBucket.md +docs/RoomDialOutSendDTMFRequest.md +docs/RoomDialOutStopRequest.md docs/RoomProperties.md docs/RoomPropertiesStreamingEndpointsInner.md docs/RoomPropertiesStreamingEndpointsInnerHlsConfigVariantsInner.md +docs/RoomSipCallTransferRequest.md docs/RoomsApi.md docs/RoomsRoomNameGetRes.md docs/RoomsRoomNamePresenceGetRes.md @@ -104,15 +137,21 @@ docs/UpdatePermissionsRequestDataValue.md docs/UpdatePermissionsRequestDataValueCanSend.md docs/UpdateWebhook.md docs/ValidateMeetingToken200Response.md +docs/WaitingParticipantJoined.md +docs/WaitingParticipantJoinedPayload.md +docs/WaitingParticipantLeft.md +docs/WaitingParticipantLeftPayload.md docs/Webhook.md docs/WebhooksApi.md git_push.sh lib/daily-ruby.rb lib/daily-ruby/api/batch_rooms_api.rb +lib/daily-ruby/api/dialin_api.rb lib/daily-ruby/api/domain_api.rb lib/daily-ruby/api/logs_api.rb lib/daily-ruby/api/meeting_tokens_api.rb lib/daily-ruby/api/meetings_api.rb +lib/daily-ruby/api/phone_numbers_api.rb lib/daily-ruby/api/presence_api.rb lib/daily-ruby/api/recordings_api.rb lib/daily-ruby/api/rooms_api.rb @@ -121,9 +160,22 @@ lib/daily-ruby/api/webhooks_api.rb lib/daily-ruby/api_client.rb lib/daily-ruby/api_error.rb lib/daily-ruby/configuration.rb +lib/daily-ruby/models/batch_processor_error.rb +lib/daily-ruby/models/batch_processor_error_payload.rb +lib/daily-ruby/models/batch_processor_error_payload_input.rb +lib/daily-ruby/models/batch_processor_job_finished.rb +lib/daily-ruby/models/batch_processor_job_finished_payload.rb +lib/daily-ruby/models/batch_processor_job_finished_payload_input.rb +lib/daily-ruby/models/batch_processor_job_finished_payload_output.rb +lib/daily-ruby/models/batch_processor_job_finished_payload_output_concept.rb +lib/daily-ruby/models/batch_processor_job_finished_payload_output_soap.rb +lib/daily-ruby/models/batch_processor_job_finished_payload_output_soap_s3_config.rb +lib/daily-ruby/models/batch_processor_job_finished_payload_output_summary.rb +lib/daily-ruby/models/batch_processor_job_finished_payload_output_transcription_inner.rb lib/daily-ruby/models/batch_room_create_request.rb lib/daily-ruby/models/batch_room_create_request_rooms_inner.rb lib/daily-ruby/models/batch_room_delete200_response.rb +lib/daily-ruby/models/buy_phone_number_request.rb lib/daily-ruby/models/create_meeting_token200_response.rb lib/daily-ruby/models/create_meeting_token_request.rb lib/daily-ruby/models/create_room200_response.rb @@ -132,7 +184,7 @@ lib/daily-ruby/models/daily_live_streaming_options.rb lib/daily-ruby/models/daily_live_streaming_options_rtmp_url.rb lib/daily-ruby/models/daily_streaming_active_participant_layout_config.rb lib/daily-ruby/models/daily_streaming_custom_layout_config.rb -lib/daily-ruby/models/daily_streaming_custom_layout_config_composition_params.rb +lib/daily-ruby/models/daily_streaming_custom_layout_config_composition_params_value.rb lib/daily-ruby/models/daily_streaming_default_layout_config.rb lib/daily-ruby/models/daily_streaming_endpoint.rb lib/daily-ruby/models/daily_streaming_layout_config.rb @@ -141,6 +193,8 @@ lib/daily-ruby/models/daily_streaming_portrait_layout_config.rb lib/daily-ruby/models/daily_streaming_portrait_layout_variant.rb lib/daily-ruby/models/daily_streaming_single_participant_layout_config.rb lib/daily-ruby/models/delete_transcript200_response.rb +lib/daily-ruby/models/dialout_properties.rb +lib/daily-ruby/models/dialout_properties_codecs.rb lib/daily-ruby/models/domain.rb lib/daily-ruby/models/domain_properties.rb lib/daily-ruby/models/eject200_response.rb @@ -167,12 +221,25 @@ lib/daily-ruby/models/list_rooms200_response_data_inner.rb lib/daily-ruby/models/list_rooms200_response_data_inner_config.rb lib/daily-ruby/models/list_transcript200_response.rb lib/daily-ruby/models/list_transcript200_response_data_inner.rb +lib/daily-ruby/models/meeting_ended.rb +lib/daily-ruby/models/meeting_ended_payload.rb lib/daily-ruby/models/meeting_participants_get_res.rb lib/daily-ruby/models/meeting_participants_get_res_data_inner.rb +lib/daily-ruby/models/meeting_started.rb +lib/daily-ruby/models/meeting_started_payload.rb lib/daily-ruby/models/meetings_meeting_get_res.rb +lib/daily-ruby/models/participant_joined.rb +lib/daily-ruby/models/participant_joined_payload.rb +lib/daily-ruby/models/participant_joined_payload_permissions.rb +lib/daily-ruby/models/participant_left.rb +lib/daily-ruby/models/participant_left_payload.rb lib/daily-ruby/models/permissions.rb lib/daily-ruby/models/permissions_can_admin.rb lib/daily-ruby/models/permissions_can_send.rb +lib/daily-ruby/models/pin_dialin_inner.rb +lib/daily-ruby/models/pin_dialin_inner_ivr_greeting.rb +lib/daily-ruby/models/pinless_call_update_request.rb +lib/daily-ruby/models/pinless_dialin_inner.rb lib/daily-ruby/models/post_webhook.rb lib/daily-ruby/models/properties.rb lib/daily-ruby/models/recording_error.rb @@ -183,9 +250,12 @@ lib/daily-ruby/models/recording_started.rb lib/daily-ruby/models/recording_started_payload.rb lib/daily-ruby/models/recording_streaming_options.rb lib/daily-ruby/models/recordings_bucket.rb +lib/daily-ruby/models/room_dial_out_send_dtmf_request.rb +lib/daily-ruby/models/room_dial_out_stop_request.rb lib/daily-ruby/models/room_properties.rb lib/daily-ruby/models/room_properties_streaming_endpoints_inner.rb lib/daily-ruby/models/room_properties_streaming_endpoints_inner_hls_config_variants_inner.rb +lib/daily-ruby/models/room_sip_call_transfer_request.rb lib/daily-ruby/models/rooms_room_name_get_res.rb lib/daily-ruby/models/rooms_room_name_presence_get_res.rb lib/daily-ruby/models/rooms_room_name_presence_get_res_data_inner.rb @@ -209,105 +279,11 @@ lib/daily-ruby/models/update_permissions_request_data_value.rb lib/daily-ruby/models/update_permissions_request_data_value_can_send.rb lib/daily-ruby/models/update_webhook.rb lib/daily-ruby/models/validate_meeting_token200_response.rb +lib/daily-ruby/models/waiting_participant_joined.rb +lib/daily-ruby/models/waiting_participant_joined_payload.rb +lib/daily-ruby/models/waiting_participant_left.rb +lib/daily-ruby/models/waiting_participant_left_payload.rb lib/daily-ruby/models/webhook.rb lib/daily-ruby/version.rb -spec/api/batch_rooms_api_spec.rb -spec/api/domain_api_spec.rb -spec/api/logs_api_spec.rb -spec/api/meeting_tokens_api_spec.rb -spec/api/meetings_api_spec.rb -spec/api/presence_api_spec.rb -spec/api/recordings_api_spec.rb -spec/api/rooms_api_spec.rb -spec/api/transcript_api_spec.rb -spec/api/webhooks_api_spec.rb -spec/models/batch_room_create_request_rooms_inner_spec.rb -spec/models/batch_room_create_request_spec.rb -spec/models/batch_room_delete200_response_spec.rb -spec/models/create_meeting_token200_response_spec.rb -spec/models/create_meeting_token_request_spec.rb -spec/models/create_room200_response_spec.rb -spec/models/create_room_request_spec.rb -spec/models/daily_live_streaming_options_rtmp_url_spec.rb -spec/models/daily_live_streaming_options_spec.rb -spec/models/daily_streaming_active_participant_layout_config_spec.rb -spec/models/daily_streaming_custom_layout_config_composition_params_spec.rb -spec/models/daily_streaming_custom_layout_config_spec.rb -spec/models/daily_streaming_default_layout_config_spec.rb -spec/models/daily_streaming_endpoint_spec.rb -spec/models/daily_streaming_layout_config_spec.rb -spec/models/daily_streaming_options_spec.rb -spec/models/daily_streaming_portrait_layout_config_spec.rb -spec/models/daily_streaming_portrait_layout_variant_spec.rb -spec/models/daily_streaming_single_participant_layout_config_spec.rb -spec/models/delete_transcript200_response_spec.rb -spec/models/domain_properties_spec.rb -spec/models/domain_spec.rb -spec/models/eject200_response_spec.rb -spec/models/eject_request_spec.rb -spec/models/get_domain_config200_response_config_recordings_bucket_spec.rb -spec/models/get_domain_config200_response_config_spec.rb -spec/models/get_domain_config200_response_spec.rb -spec/models/get_meeting_info200_response_data_inner_participants_inner_spec.rb -spec/models/get_meeting_info200_response_data_inner_spec.rb -spec/models/get_meeting_info200_response_spec.rb -spec/models/get_presence200_response_aivw_whz_hl_lhr_sd_hdw7_ew_inner_spec.rb -spec/models/get_presence200_response_spec.rb -spec/models/get_recording_info200_response_spec.rb -spec/models/get_recording_info200_response_tracks_inner_spec.rb -spec/models/get_recording_link200_response_spec.rb -spec/models/get_transcript_info200_response_out_params_spec.rb -spec/models/get_transcript_info200_response_spec.rb -spec/models/get_transcript_link200_response_spec.rb -spec/models/list_api_logs200_response_spec.rb -spec/models/list_recordings200_response_data_inner_spec.rb -spec/models/list_recordings200_response_spec.rb -spec/models/list_rooms200_response_data_inner_config_spec.rb -spec/models/list_rooms200_response_data_inner_spec.rb -spec/models/list_rooms200_response_spec.rb -spec/models/list_transcript200_response_data_inner_spec.rb -spec/models/list_transcript200_response_spec.rb -spec/models/meeting_participants_get_res_data_inner_spec.rb -spec/models/meeting_participants_get_res_spec.rb -spec/models/meetings_meeting_get_res_spec.rb -spec/models/permissions_can_admin_spec.rb -spec/models/permissions_can_send_spec.rb -spec/models/permissions_spec.rb -spec/models/post_webhook_spec.rb -spec/models/properties_spec.rb -spec/models/recording_error_payload_spec.rb -spec/models/recording_error_spec.rb -spec/models/recording_ready_to_download_payload_spec.rb -spec/models/recording_ready_to_download_spec.rb -spec/models/recording_started_payload_spec.rb -spec/models/recording_started_spec.rb -spec/models/recording_streaming_options_spec.rb -spec/models/recordings_bucket_spec.rb -spec/models/room_properties_spec.rb -spec/models/room_properties_streaming_endpoints_inner_hls_config_variants_inner_spec.rb -spec/models/room_properties_streaming_endpoints_inner_spec.rb -spec/models/rooms_room_name_get_res_spec.rb -spec/models/rooms_room_name_presence_get_res_data_inner_spec.rb -spec/models/rooms_room_name_presence_get_res_spec.rb -spec/models/send_app_message_request_spec.rb -spec/models/set_room_config_request_spec.rb -spec/models/set_session_data_request_spec.rb -spec/models/streaming_ended_payload_spec.rb -spec/models/streaming_ended_spec.rb -spec/models/streaming_error_payload_spec.rb -spec/models/streaming_error_spec.rb -spec/models/streaming_started_payload_spec.rb -spec/models/streaming_started_spec.rb -spec/models/streaming_updated_payload_spec.rb -spec/models/streaming_updated_spec.rb -spec/models/transcription_bucket_spec.rb -spec/models/transcription_properties_endpointing_spec.rb -spec/models/transcription_properties_redact_spec.rb -spec/models/transcription_properties_spec.rb -spec/models/update_permissions_request_data_value_can_send_spec.rb -spec/models/update_permissions_request_data_value_spec.rb -spec/models/update_permissions_request_spec.rb -spec/models/update_webhook_spec.rb -spec/models/validate_meeting_token200_response_spec.rb -spec/models/webhook_spec.rb +spec/models/daily_streaming_custom_layout_config_composition_params_value_spec.rb spec/spec_helper.rb diff --git a/.openapi-generator/VERSION b/.openapi-generator/VERSION index 8b23b8d..09a6d30 100644 --- a/.openapi-generator/VERSION +++ b/.openapi-generator/VERSION @@ -1 +1 @@ -7.3.0 \ No newline at end of file +7.8.0 diff --git a/.travis.yml b/.travis.yml index 480d79c..6012c8e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,4 +8,4 @@ script: - bundle install --path vendor/bundle - bundle exec rspec - gem build daily-ruby.gemspec - - gem install ./daily-ruby-1.0.0.gem + - gem install ./daily-ruby-1.0.1.gem diff --git a/Gemfile b/Gemfile index 957f7ae..c2e3127 100644 --- a/Gemfile +++ b/Gemfile @@ -5,5 +5,5 @@ gemspec group :development, :test do gem 'rake', '~> 13.0.1' gem 'pry-byebug' - gem 'rubocop', '~> 1.4.0' + gem 'rubocop', '~> 0.66.0' end diff --git a/Gemfile.lock b/Gemfile.lock index 146647d..96924a0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,9 +1,10 @@ PATH remote: . specs: - daily-ruby (1.0.0) + daily-ruby (1.0.1) faraday (>= 1.0.1, < 3.0) faraday-multipart + marcel GEM remote: https://rubygems.org/ @@ -18,12 +19,14 @@ GEM multipart-post (~> 2) faraday-net_http (3.1.0) net-http + jaro_winkler (1.5.6) + marcel (1.0.4) method_source (1.0.0) multipart-post (2.4.0) net-http (0.4.1) uri - parallel (1.24.0) - parser (3.3.0.5) + parallel (1.26.3) + parser (3.3.4.2) ast (~> 2.4.1) racc pry (0.14.2) @@ -32,12 +35,11 @@ GEM pry-byebug (3.10.1) byebug (~> 11.0) pry (>= 0.13, < 0.15) - racc (1.7.3) + psych (5.1.2) + stringio + racc (1.8.1) rainbow (3.1.1) rake (13.0.6) - regexp_parser (2.9.0) - rexml (3.2.8) - strscan (>= 3.0.9) rspec (3.13.0) rspec-core (~> 3.13.0) rspec-expectations (~> 3.13.0) @@ -51,20 +53,17 @@ GEM diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) rspec-support (3.13.0) - rubocop (1.4.2) + rubocop (0.66.0) + jaro_winkler (~> 1.5.1) parallel (~> 1.10) - parser (>= 2.7.1.5) + parser (>= 2.5, != 2.5.1.1) + psych (>= 3.1.0) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 1.8) - rexml - rubocop-ast (>= 1.1.1) ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 2.0) - rubocop-ast (1.30.0) - parser (>= 3.2.1.0) + unicode-display_width (>= 1.4.0, < 1.6) ruby-progressbar (1.13.0) - strscan (3.1.0) - unicode-display_width (1.8.0) + stringio (3.1.1) + unicode-display_width (1.5.0) uri (0.13.0) PLATFORMS @@ -76,7 +75,7 @@ DEPENDENCIES pry-byebug rake (~> 13.0.1) rspec (~> 3.6, >= 3.6.0) - rubocop (~> 1.4.0) + rubocop (~> 0.66.0) BUNDLED WITH 2.5.3 diff --git a/README.md b/README.md index 1aff3a5..f885ead 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,11 @@ Daily - the Ruby gem for the Daily API -The Daily REST API offers the ability to manage the following: - +The Daily REST API offers the ability to manage the following: - Overall Domain Configuration -- Individual Room creation and config management +- Individual Room creation and config management - Meeting token creation and validation -- Recording and compositing management +- Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence @@ -17,9 +16,10 @@ Please reach out to help@daily.co if we can help with anything This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: - API version: 1.1.1 -- Package version: 1.0.0 +- Package version: 1.0.1 +- Generator version: 7.8.0 - Build package: org.openapitools.codegen.languages.RubyClientCodegen - For more information, please visit [https://docs.daily.co](https://docs.daily.co) +For more information, please visit [https://docs.daily.co](https://docs.daily.co) ## Installation @@ -34,16 +34,16 @@ gem build daily-ruby.gemspec Then either install the gem locally: ```shell -gem install ./daily-ruby-1.0.0.gem +gem install ./daily-ruby-1.0.1.gem ``` -(for development, run `gem install --dev ./daily-ruby-1.0.0.gem` to install the development dependencies) +(for development, run `gem install --dev ./daily-ruby-1.0.1.gem` to install the development dependencies) or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/). Finally add this to the Gemfile: - gem 'daily-ruby', '~> 1.0.0' + gem 'daily-ruby', '~> 1.0.1' ### Install from Git @@ -69,214 +69,227 @@ require 'daily-ruby' # Setup authorization Daily.configure do |config| - # Configure Bearer authorization: bearerAuth - config.api_key['sec0'] = ENV['DAILY_API_KEY'] - config.api_key_prefix['sec0'] = 'Bearer' + # Configure API key authorization: sec0 + config.api_key['sec0'] = 'YOUR API KEY' + # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil) + # config.api_key_prefix['sec0'] = 'Bearer' # Configure faraday connection - # config.configure_faraday_connection { |connection| 'YOUR CONNECTION CONFIG PROC' } -end - -room_api_instance = Daily::RoomsApi.new -opts = { - room_request: Daily::CreateRoomRequest.new( - privacy: 'private', - properties: Daily::RoomProperties.new({ - exp: (Time.now + (3600 * 2)).to_i, # Delete the room after two hours - enable_mesh_sfu: true, - sfu_switchover: 0.5 - }) - ) -} - -begin - # Create a new room - room = room_api_instance.create_room(opts) - p room -rescue Daily::ApiError => e - puts "Error when calling RoomApi->create_room: #{e}" + config.configure_faraday_connection { |connection| 'YOUR CONNECTION CONFIG PROC' } end -meeting_token_api_instance = Daily::MeetingTokensApi.new - -# Create an owner meeting_token for the room with privacy set to private and -# the expiration set to 2 hours from now. - +api_instance = Daily::BatchRoomsApi.new opts = { - create_meeting_token_request: Daily::CreateMeetingTokenRequest.new({ - properties: { - is_owner: true, - room_name: room.name, - exp: (Time.now + (3600 * 2)).to_i # Expire the token after two hours - } - }) + batch_room_create_request: Daily::BatchRoomCreateRequest.new # BatchRoomCreateRequest | } -p opts - - begin - # Create a new meeting token - meeting_token = meeting_token_api_instance.create_meeting_token(opts) - p meeting_token + #/batch/rooms + result = api_instance.batch_room_create(opts) + p result rescue Daily::ApiError => e - puts "Error when calling MeetingTokensApi->create_meeting_token: #{e}" + puts "Exception when calling BatchRoomsApi->batch_room_create: #{e}" end - -p "Room url: " + room.url -p "Meeting token: " + meeting_token.token - ``` ## Documentation for API Endpoints All URIs are relative to *https://api.daily.co/v1* -| Class | Method | HTTP request | Description | -| ------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------- | --------------------------------- | -| _Daily::BatchRoomsApi_ | [**batch_room_create**](docs/BatchRoomsApi.md#batch_room_create) | **POST** /batch/rooms | /batch/rooms | -| _Daily::BatchRoomsApi_ | [**batch_room_delete**](docs/BatchRoomsApi.md#batch_room_delete) | **DELETE** /batch/rooms | /batch/rooms | -| _Daily::DomainApi_ | [**get_domain_config**](docs/DomainApi.md#get_domain_config) | **GET** / | Get domain configuration | -| _Daily::DomainApi_ | [**set_domain_config**](docs/DomainApi.md#set_domain_config) | **POST** / | Set domain configuration | -| _Daily::LogsApi_ | [**list_api_logs**](docs/LogsApi.md#list_api_logs) | **GET** /logs/api | /logs/api | -| _Daily::LogsApi_ | [**list_logs**](docs/LogsApi.md#list_logs) | **GET** /logs | /logs | -| _Daily::MeetingTokensApi_ | [**create_meeting_token**](docs/MeetingTokensApi.md#create_meeting_token) | **POST** /meeting-tokens | meeting-tokens | -| _Daily::MeetingTokensApi_ | [**validate_meeting_token**](docs/MeetingTokensApi.md#validate_meeting_token) | **GET** /meeting-tokens/{meeting_token} | meeting-tokens/:meeting_token | -| _Daily::MeetingsApi_ | [**get_individual_meeting_info**](docs/MeetingsApi.md#get_individual_meeting_info) | **GET** /meetings/{meeting} | /meetings/:meeting | -| _Daily::MeetingsApi_ | [**get_meeting_info**](docs/MeetingsApi.md#get_meeting_info) | **GET** /meetings | /meetings | -| _Daily::MeetingsApi_ | [**get_meeting_participants**](docs/MeetingsApi.md#get_meeting_participants) | **GET** /meetings/{meeting}/participants | /meetings/:meeting/participants | -| _Daily::PresenceApi_ | [**get_presence**](docs/PresenceApi.md#get_presence) | **GET** /presence | /presence | -| _Daily::RecordingsApi_ | [**delete_recording**](docs/RecordingsApi.md#delete_recording) | **DELETE** /recordings/{recording_id} | recordings/:id | -| _Daily::RecordingsApi_ | [**get_recording_info**](docs/RecordingsApi.md#get_recording_info) | **GET** /recordings/{recording_id} | recordings/:id | -| _Daily::RecordingsApi_ | [**get_recording_link**](docs/RecordingsApi.md#get_recording_link) | **GET** /recordings/{recording_id}/access-link | recordings/:id/access-link | -| _Daily::RecordingsApi_ | [**list_recordings**](docs/RecordingsApi.md#list_recordings) | **GET** /recordings | /recordings | -| _Daily::RoomsApi_ | [**create_room**](docs/RoomsApi.md#create_room) | **POST** /rooms | /rooms | -| _Daily::RoomsApi_ | [**delete_room**](docs/RoomsApi.md#delete_room) | **DELETE** /rooms/{room_name} | rooms/:name | -| _Daily::RoomsApi_ | [**eject**](docs/RoomsApi.md#eject) | **POST** /rooms/{room_name}/eject | rooms/:name/eject | -| _Daily::RoomsApi_ | [**get_room_config**](docs/RoomsApi.md#get_room_config) | **GET** /rooms/{room_name} | rooms/:name | -| _Daily::RoomsApi_ | [**get_room_presence**](docs/RoomsApi.md#get_room_presence) | **GET** /rooms/{room_name}/presence | rooms/:name/presence | -| _Daily::RoomsApi_ | [**get_session_data**](docs/RoomsApi.md#get_session_data) | **GET** /rooms/{room_name}/get-session-data | rooms/:name/get-session-data | -| _Daily::RoomsApi_ | [**list_rooms**](docs/RoomsApi.md#list_rooms) | **GET** /rooms | /rooms | -| _Daily::RoomsApi_ | [**room_livestreaming_start**](docs/RoomsApi.md#room_livestreaming_start) | **POST** /rooms/{room_name}/live-streaming/start | rooms/:name/live-streaming/start | -| _Daily::RoomsApi_ | [**room_livestreaming_stop**](docs/RoomsApi.md#room_livestreaming_stop) | **POST** /rooms/{room_name}/live-streaming/stop | rooms/:name/live-streaming/stop | -| _Daily::RoomsApi_ | [**room_livestreaming_update**](docs/RoomsApi.md#room_livestreaming_update) | **POST** /rooms/{room_name}/live-streaming/update | rooms/:name/live-streaming/update | -| _Daily::RoomsApi_ | [**room_recordings_start**](docs/RoomsApi.md#room_recordings_start) | **POST** /rooms/{room_name}/recordings/start | rooms/:name/recordings/start | -| _Daily::RoomsApi_ | [**room_recordings_stop**](docs/RoomsApi.md#room_recordings_stop) | **POST** /rooms/{room_name}/recordings/stop | rooms/:name/recordings/stop | -| _Daily::RoomsApi_ | [**room_recordings_update**](docs/RoomsApi.md#room_recordings_update) | **POST** /rooms/{room_name}/recordings/update | rooms/:name/recordings/update | -| _Daily::RoomsApi_ | [**room_transcription_start**](docs/RoomsApi.md#room_transcription_start) | **POST** /rooms/{room_name}/transcription/start | rooms/:name/transcription/start | -| _Daily::RoomsApi_ | [**room_transcription_stop**](docs/RoomsApi.md#room_transcription_stop) | **POST** /rooms/{room_name}/transcription/stop | rooms/:name/transcription/stop | -| _Daily::RoomsApi_ | [**send_app_message**](docs/RoomsApi.md#send_app_message) | **POST** /rooms/{room_name}/send-app-message | rooms/:name/send-app-message | -| _Daily::RoomsApi_ | [**set_room_config**](docs/RoomsApi.md#set_room_config) | **POST** /rooms/{room_name} | rooms/:name | -| _Daily::RoomsApi_ | [**set_session_data**](docs/RoomsApi.md#set_session_data) | **POST** /rooms/{room_name}/set-session-data | rooms/:name/set-session-data | -| _Daily::RoomsApi_ | [**update_permissions**](docs/RoomsApi.md#update_permissions) | **POST** /rooms/{room_name}/update-permissions | rooms/:name/update-permissions | -| _Daily::TranscriptApi_ | [**delete_transcript**](docs/TranscriptApi.md#delete_transcript) | **DELETE** /transcript/{transcriptId} | transcript/:id | -| _Daily::TranscriptApi_ | [**get_transcript_info**](docs/TranscriptApi.md#get_transcript_info) | **GET** /transcript/{transcriptId} | transcript/:transcriptId | -| _Daily::TranscriptApi_ | [**get_transcript_link**](docs/TranscriptApi.md#get_transcript_link) | **GET** /transcript/{transcriptId}/access-link | transcript/:id/access-link | -| _Daily::TranscriptApi_ | [**list_transcript**](docs/TranscriptApi.md#list_transcript) | **GET** /transcript | /transcript | -| _Daily::WebhooksApi_ | [**create_webhook**](docs/WebhooksApi.md#create_webhook) | **POST** /webhooks | /webhooks | -| _Daily::WebhooksApi_ | [**delete_webhook**](docs/WebhooksApi.md#delete_webhook) | **DELETE** /webhooks/{id} | webhooks/:id | -| _Daily::WebhooksApi_ | [**get_webhook_config**](docs/WebhooksApi.md#get_webhook_config) | **GET** /webhooks/{id} | webhooks/:id | -| _Daily::WebhooksApi_ | [**get_webhooks**](docs/WebhooksApi.md#get_webhooks) | **GET** /webhooks | /webhooks | -| _Daily::WebhooksApi_ | [**update_webhook_config**](docs/WebhooksApi.md#update_webhook_config) | **POST** /webhooks/{id} | webhooks/:id | +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*Daily::BatchRoomsApi* | [**batch_room_create**](docs/BatchRoomsApi.md#batch_room_create) | **POST** /batch/rooms | /batch/rooms +*Daily::BatchRoomsApi* | [**batch_room_delete**](docs/BatchRoomsApi.md#batch_room_delete) | **DELETE** /batch/rooms | /batch/rooms +*Daily::DialinApi* | [**pinless_call_update**](docs/DialinApi.md#pinless_call_update) | **POST** /dialin/pinlessCallUpdate | /dialin/pinlessCallUpdate +*Daily::DomainApi* | [**get_domain_config**](docs/DomainApi.md#get_domain_config) | **GET** / | Get domain configuration +*Daily::DomainApi* | [**set_domain_config**](docs/DomainApi.md#set_domain_config) | **POST** / | Set domain configuration +*Daily::LogsApi* | [**list_api_logs**](docs/LogsApi.md#list_api_logs) | **GET** /logs/api | /logs/api +*Daily::LogsApi* | [**list_logs**](docs/LogsApi.md#list_logs) | **GET** /logs | /logs +*Daily::MeetingTokensApi* | [**create_meeting_token**](docs/MeetingTokensApi.md#create_meeting_token) | **POST** /meeting-tokens | meeting-tokens +*Daily::MeetingTokensApi* | [**validate_meeting_token**](docs/MeetingTokensApi.md#validate_meeting_token) | **GET** /meeting-tokens/{meeting_token} | meeting-tokens/:meeting_token +*Daily::MeetingsApi* | [**get_individual_meeting_info**](docs/MeetingsApi.md#get_individual_meeting_info) | **GET** /meetings/{meeting} | /meetings/:meeting +*Daily::MeetingsApi* | [**get_meeting_info**](docs/MeetingsApi.md#get_meeting_info) | **GET** /meetings | /meetings +*Daily::MeetingsApi* | [**get_meeting_participants**](docs/MeetingsApi.md#get_meeting_participants) | **GET** /meetings/{meeting}/participants | /meetings/:meeting/participants +*Daily::PhoneNumbersApi* | [**buy_phone_number**](docs/PhoneNumbersApi.md#buy_phone_number) | **POST** /buy-phone-number | /buy-phone-number +*Daily::PhoneNumbersApi* | [**list_available_numbers**](docs/PhoneNumbersApi.md#list_available_numbers) | **GET** /list-available-numbers | /list-available-numbers +*Daily::PhoneNumbersApi* | [**purchased_phone_nunbers**](docs/PhoneNumbersApi.md#purchased_phone_nunbers) | **GET** /purchased-phone-numbers | /purchased-phone-numbers +*Daily::PhoneNumbersApi* | [**release_phone_number**](docs/PhoneNumbersApi.md#release_phone_number) | **DELETE** /release-phone-number/{id} | release-phone-number/:id +*Daily::PresenceApi* | [**get_presence**](docs/PresenceApi.md#get_presence) | **GET** /presence | /presence +*Daily::RecordingsApi* | [**delete_recording**](docs/RecordingsApi.md#delete_recording) | **DELETE** /recordings/{recording_id} | recordings/:id +*Daily::RecordingsApi* | [**get_recording_info**](docs/RecordingsApi.md#get_recording_info) | **GET** /recordings/{recording_id} | recordings/:id +*Daily::RecordingsApi* | [**get_recording_link**](docs/RecordingsApi.md#get_recording_link) | **GET** /recordings/{recording_id}/access-link | recordings/:id/access-link +*Daily::RecordingsApi* | [**list_recordings**](docs/RecordingsApi.md#list_recordings) | **GET** /recordings | /recordings +*Daily::RoomsApi* | [**create_room**](docs/RoomsApi.md#create_room) | **POST** /rooms | /rooms +*Daily::RoomsApi* | [**delete_room**](docs/RoomsApi.md#delete_room) | **DELETE** /rooms/{room_name} | rooms/:name +*Daily::RoomsApi* | [**eject**](docs/RoomsApi.md#eject) | **POST** /rooms/{room_name}/eject | rooms/:name/eject +*Daily::RoomsApi* | [**get_room_config**](docs/RoomsApi.md#get_room_config) | **GET** /rooms/{room_name} | rooms/:name +*Daily::RoomsApi* | [**get_room_presence**](docs/RoomsApi.md#get_room_presence) | **GET** /rooms/{room_name}/presence | rooms/:name/presence +*Daily::RoomsApi* | [**get_session_data**](docs/RoomsApi.md#get_session_data) | **GET** /rooms/{room_name}/get-session-data | rooms/:name/get-session-data +*Daily::RoomsApi* | [**list_rooms**](docs/RoomsApi.md#list_rooms) | **GET** /rooms | /rooms +*Daily::RoomsApi* | [**room_dial_out_send_dtmf**](docs/RoomsApi.md#room_dial_out_send_dtmf) | **POST** /rooms/{room_name}/dialOut/sendDTMF | rooms/:name/dialOut/sendDTMF +*Daily::RoomsApi* | [**room_dial_out_start**](docs/RoomsApi.md#room_dial_out_start) | **POST** /rooms/{room_name}/dialOut/start | rooms/:name/dialOut/start +*Daily::RoomsApi* | [**room_dial_out_stop**](docs/RoomsApi.md#room_dial_out_stop) | **POST** /rooms/{room_name}/dialOut/stop | rooms/:name/dialOut/stop +*Daily::RoomsApi* | [**room_livestreaming_start**](docs/RoomsApi.md#room_livestreaming_start) | **POST** /rooms/{room_name}/live-streaming/start | rooms/:name/live-streaming/start +*Daily::RoomsApi* | [**room_livestreaming_stop**](docs/RoomsApi.md#room_livestreaming_stop) | **POST** /rooms/{room_name}/live-streaming/stop | rooms/:name/live-streaming/stop +*Daily::RoomsApi* | [**room_livestreaming_update**](docs/RoomsApi.md#room_livestreaming_update) | **POST** /rooms/{room_name}/live-streaming/update | rooms/:name/live-streaming/update +*Daily::RoomsApi* | [**room_recordings_start**](docs/RoomsApi.md#room_recordings_start) | **POST** /rooms/{room_name}/recordings/start | rooms/:name/recordings/start +*Daily::RoomsApi* | [**room_recordings_stop**](docs/RoomsApi.md#room_recordings_stop) | **POST** /rooms/{room_name}/recordings/stop | rooms/:name/recordings/stop +*Daily::RoomsApi* | [**room_recordings_update**](docs/RoomsApi.md#room_recordings_update) | **POST** /rooms/{room_name}/recordings/update | rooms/:name/recordings/update +*Daily::RoomsApi* | [**room_sip_call_transfer**](docs/RoomsApi.md#room_sip_call_transfer) | **POST** /rooms/{room_name}/sipCallTransfer | rooms/:name/sipCallTransfer +*Daily::RoomsApi* | [**room_sip_refer**](docs/RoomsApi.md#room_sip_refer) | **POST** /rooms/{room_name}/sipRefer | rooms/:name/sipRefer +*Daily::RoomsApi* | [**room_transcription_start**](docs/RoomsApi.md#room_transcription_start) | **POST** /rooms/{room_name}/transcription/start | rooms/:name/transcription/start +*Daily::RoomsApi* | [**room_transcription_stop**](docs/RoomsApi.md#room_transcription_stop) | **POST** /rooms/{room_name}/transcription/stop | rooms/:name/transcription/stop +*Daily::RoomsApi* | [**send_app_message**](docs/RoomsApi.md#send_app_message) | **POST** /rooms/{room_name}/send-app-message | rooms/:name/send-app-message +*Daily::RoomsApi* | [**set_room_config**](docs/RoomsApi.md#set_room_config) | **POST** /rooms/{room_name} | rooms/:name +*Daily::RoomsApi* | [**set_session_data**](docs/RoomsApi.md#set_session_data) | **POST** /rooms/{room_name}/set-session-data | rooms/:name/set-session-data +*Daily::RoomsApi* | [**update_permissions**](docs/RoomsApi.md#update_permissions) | **POST** /rooms/{room_name}/update-permissions | rooms/:name/update-permissions +*Daily::TranscriptApi* | [**delete_transcript**](docs/TranscriptApi.md#delete_transcript) | **DELETE** /transcript/{transcriptId} | transcript/:id +*Daily::TranscriptApi* | [**get_transcript_info**](docs/TranscriptApi.md#get_transcript_info) | **GET** /transcript/{transcriptId} | transcript/:transcriptId +*Daily::TranscriptApi* | [**get_transcript_link**](docs/TranscriptApi.md#get_transcript_link) | **GET** /transcript/{transcriptId}/access-link | transcript/:id/access-link +*Daily::TranscriptApi* | [**list_transcript**](docs/TranscriptApi.md#list_transcript) | **GET** /transcript | /transcript +*Daily::WebhooksApi* | [**create_webhook**](docs/WebhooksApi.md#create_webhook) | **POST** /webhooks | /webhooks +*Daily::WebhooksApi* | [**delete_webhook**](docs/WebhooksApi.md#delete_webhook) | **DELETE** /webhooks/{id} | webhooks/:id +*Daily::WebhooksApi* | [**get_webhook_config**](docs/WebhooksApi.md#get_webhook_config) | **GET** /webhooks/{id} | webhooks/:id +*Daily::WebhooksApi* | [**get_webhooks**](docs/WebhooksApi.md#get_webhooks) | **GET** /webhooks | /webhooks +*Daily::WebhooksApi* | [**update_webhook_config**](docs/WebhooksApi.md#update_webhook_config) | **POST** /webhooks/{id} | webhooks/:id + ## Documentation for Models -- [Daily::BatchRoomCreateRequest](docs/BatchRoomCreateRequest.md) -- [Daily::BatchRoomCreateRequestRoomsInner](docs/BatchRoomCreateRequestRoomsInner.md) -- [Daily::BatchRoomDelete200Response](docs/BatchRoomDelete200Response.md) -- [Daily::CreateMeetingToken200Response](docs/CreateMeetingToken200Response.md) -- [Daily::CreateMeetingTokenRequest](docs/CreateMeetingTokenRequest.md) -- [Daily::CreateRoom200Response](docs/CreateRoom200Response.md) -- [Daily::CreateRoomRequest](docs/CreateRoomRequest.md) -- [Daily::DailyLiveStreamingOptions](docs/DailyLiveStreamingOptions.md) -- [Daily::DailyLiveStreamingOptionsRtmpUrl](docs/DailyLiveStreamingOptionsRtmpUrl.md) -- [Daily::DailyStreamingActiveParticipantLayoutConfig](docs/DailyStreamingActiveParticipantLayoutConfig.md) -- [Daily::DailyStreamingCustomLayoutConfig](docs/DailyStreamingCustomLayoutConfig.md) -- [Daily::DailyStreamingCustomLayoutConfigCompositionParams](docs/DailyStreamingCustomLayoutConfigCompositionParams.md) -- [Daily::DailyStreamingDefaultLayoutConfig](docs/DailyStreamingDefaultLayoutConfig.md) -- [Daily::DailyStreamingEndpoint](docs/DailyStreamingEndpoint.md) -- [Daily::DailyStreamingLayoutConfig](docs/DailyStreamingLayoutConfig.md) -- [Daily::DailyStreamingOptions](docs/DailyStreamingOptions.md) -- [Daily::DailyStreamingPortraitLayoutConfig](docs/DailyStreamingPortraitLayoutConfig.md) -- [Daily::DailyStreamingPortraitLayoutVariant](docs/DailyStreamingPortraitLayoutVariant.md) -- [Daily::DailyStreamingSingleParticipantLayoutConfig](docs/DailyStreamingSingleParticipantLayoutConfig.md) -- [Daily::DeleteTranscript200Response](docs/DeleteTranscript200Response.md) -- [Daily::Domain](docs/Domain.md) -- [Daily::DomainProperties](docs/DomainProperties.md) -- [Daily::Eject200Response](docs/Eject200Response.md) -- [Daily::EjectRequest](docs/EjectRequest.md) -- [Daily::GetDomainConfig200Response](docs/GetDomainConfig200Response.md) -- [Daily::GetDomainConfig200ResponseConfig](docs/GetDomainConfig200ResponseConfig.md) -- [Daily::GetDomainConfig200ResponseConfigRecordingsBucket](docs/GetDomainConfig200ResponseConfigRecordingsBucket.md) -- [Daily::GetMeetingInfo200Response](docs/GetMeetingInfo200Response.md) -- [Daily::GetMeetingInfo200ResponseDataInner](docs/GetMeetingInfo200ResponseDataInner.md) -- [Daily::GetMeetingInfo200ResponseDataInnerParticipantsInner](docs/GetMeetingInfo200ResponseDataInnerParticipantsInner.md) -- [Daily::GetPresence200Response](docs/GetPresence200Response.md) -- [Daily::GetPresence200ResponseAIVWWhzHlLHrSdHdw7EWInner](docs/GetPresence200ResponseAIVWWhzHlLHrSdHdw7EWInner.md) -- [Daily::GetRecordingInfo200Response](docs/GetRecordingInfo200Response.md) -- [Daily::GetRecordingInfo200ResponseTracksInner](docs/GetRecordingInfo200ResponseTracksInner.md) -- [Daily::GetRecordingLink200Response](docs/GetRecordingLink200Response.md) -- [Daily::GetTranscriptInfo200Response](docs/GetTranscriptInfo200Response.md) -- [Daily::GetTranscriptInfo200ResponseOutParams](docs/GetTranscriptInfo200ResponseOutParams.md) -- [Daily::GetTranscriptLink200Response](docs/GetTranscriptLink200Response.md) -- [Daily::ListAPILogs200Response](docs/ListAPILogs200Response.md) -- [Daily::ListRecordings200Response](docs/ListRecordings200Response.md) -- [Daily::ListRecordings200ResponseDataInner](docs/ListRecordings200ResponseDataInner.md) -- [Daily::ListRooms200Response](docs/ListRooms200Response.md) -- [Daily::ListRooms200ResponseDataInner](docs/ListRooms200ResponseDataInner.md) -- [Daily::ListRooms200ResponseDataInnerConfig](docs/ListRooms200ResponseDataInnerConfig.md) -- [Daily::ListTranscript200Response](docs/ListTranscript200Response.md) -- [Daily::ListTranscript200ResponseDataInner](docs/ListTranscript200ResponseDataInner.md) -- [Daily::MeetingParticipantsGetRes](docs/MeetingParticipantsGetRes.md) -- [Daily::MeetingParticipantsGetResDataInner](docs/MeetingParticipantsGetResDataInner.md) -- [Daily::MeetingsMeetingGetRes](docs/MeetingsMeetingGetRes.md) -- [Daily::Permissions](docs/Permissions.md) -- [Daily::PermissionsCanAdmin](docs/PermissionsCanAdmin.md) -- [Daily::PermissionsCanSend](docs/PermissionsCanSend.md) -- [Daily::PostWebhook](docs/PostWebhook.md) -- [Daily::Properties](docs/Properties.md) -- [Daily::RecordingError](docs/RecordingError.md) -- [Daily::RecordingErrorPayload](docs/RecordingErrorPayload.md) -- [Daily::RecordingReadyToDownload](docs/RecordingReadyToDownload.md) -- [Daily::RecordingReadyToDownloadPayload](docs/RecordingReadyToDownloadPayload.md) -- [Daily::RecordingStarted](docs/RecordingStarted.md) -- [Daily::RecordingStartedPayload](docs/RecordingStartedPayload.md) -- [Daily::RecordingStreamingOptions](docs/RecordingStreamingOptions.md) -- [Daily::RecordingsBucket](docs/RecordingsBucket.md) -- [Daily::RoomProperties](docs/RoomProperties.md) -- [Daily::RoomPropertiesStreamingEndpointsInner](docs/RoomPropertiesStreamingEndpointsInner.md) -- [Daily::RoomPropertiesStreamingEndpointsInnerHlsConfigVariantsInner](docs/RoomPropertiesStreamingEndpointsInnerHlsConfigVariantsInner.md) -- [Daily::RoomsRoomNameGetRes](docs/RoomsRoomNameGetRes.md) -- [Daily::RoomsRoomNamePresenceGetRes](docs/RoomsRoomNamePresenceGetRes.md) -- [Daily::RoomsRoomNamePresenceGetResDataInner](docs/RoomsRoomNamePresenceGetResDataInner.md) -- [Daily::SendAppMessageRequest](docs/SendAppMessageRequest.md) -- [Daily::SetRoomConfigRequest](docs/SetRoomConfigRequest.md) -- [Daily::SetSessionDataRequest](docs/SetSessionDataRequest.md) -- [Daily::StreamingEnded](docs/StreamingEnded.md) -- [Daily::StreamingEndedPayload](docs/StreamingEndedPayload.md) -- [Daily::StreamingError](docs/StreamingError.md) -- [Daily::StreamingErrorPayload](docs/StreamingErrorPayload.md) -- [Daily::StreamingStarted](docs/StreamingStarted.md) -- [Daily::StreamingStartedPayload](docs/StreamingStartedPayload.md) -- [Daily::StreamingUpdated](docs/StreamingUpdated.md) -- [Daily::StreamingUpdatedPayload](docs/StreamingUpdatedPayload.md) -- [Daily::TranscriptionBucket](docs/TranscriptionBucket.md) -- [Daily::TranscriptionProperties](docs/TranscriptionProperties.md) -- [Daily::TranscriptionPropertiesEndpointing](docs/TranscriptionPropertiesEndpointing.md) -- [Daily::TranscriptionPropertiesRedact](docs/TranscriptionPropertiesRedact.md) -- [Daily::UpdatePermissionsRequest](docs/UpdatePermissionsRequest.md) -- [Daily::UpdatePermissionsRequestDataValue](docs/UpdatePermissionsRequestDataValue.md) -- [Daily::UpdatePermissionsRequestDataValueCanSend](docs/UpdatePermissionsRequestDataValueCanSend.md) -- [Daily::UpdateWebhook](docs/UpdateWebhook.md) -- [Daily::ValidateMeetingToken200Response](docs/ValidateMeetingToken200Response.md) -- [Daily::Webhook](docs/Webhook.md) + - [Daily::BatchProcessorError](docs/BatchProcessorError.md) + - [Daily::BatchProcessorErrorPayload](docs/BatchProcessorErrorPayload.md) + - [Daily::BatchProcessorErrorPayloadInput](docs/BatchProcessorErrorPayloadInput.md) + - [Daily::BatchProcessorJobFinished](docs/BatchProcessorJobFinished.md) + - [Daily::BatchProcessorJobFinishedPayload](docs/BatchProcessorJobFinishedPayload.md) + - [Daily::BatchProcessorJobFinishedPayloadInput](docs/BatchProcessorJobFinishedPayloadInput.md) + - [Daily::BatchProcessorJobFinishedPayloadOutput](docs/BatchProcessorJobFinishedPayloadOutput.md) + - [Daily::BatchProcessorJobFinishedPayloadOutputConcept](docs/BatchProcessorJobFinishedPayloadOutputConcept.md) + - [Daily::BatchProcessorJobFinishedPayloadOutputSoap](docs/BatchProcessorJobFinishedPayloadOutputSoap.md) + - [Daily::BatchProcessorJobFinishedPayloadOutputSoapS3Config](docs/BatchProcessorJobFinishedPayloadOutputSoapS3Config.md) + - [Daily::BatchProcessorJobFinishedPayloadOutputSummary](docs/BatchProcessorJobFinishedPayloadOutputSummary.md) + - [Daily::BatchProcessorJobFinishedPayloadOutputTranscriptionInner](docs/BatchProcessorJobFinishedPayloadOutputTranscriptionInner.md) + - [Daily::BatchRoomCreateRequest](docs/BatchRoomCreateRequest.md) + - [Daily::BatchRoomCreateRequestRoomsInner](docs/BatchRoomCreateRequestRoomsInner.md) + - [Daily::BatchRoomDelete200Response](docs/BatchRoomDelete200Response.md) + - [Daily::BuyPhoneNumberRequest](docs/BuyPhoneNumberRequest.md) + - [Daily::CreateMeetingToken200Response](docs/CreateMeetingToken200Response.md) + - [Daily::CreateMeetingTokenRequest](docs/CreateMeetingTokenRequest.md) + - [Daily::CreateRoom200Response](docs/CreateRoom200Response.md) + - [Daily::CreateRoomRequest](docs/CreateRoomRequest.md) + - [Daily::DailyLiveStreamingOptions](docs/DailyLiveStreamingOptions.md) + - [Daily::DailyLiveStreamingOptionsRtmpUrl](docs/DailyLiveStreamingOptionsRtmpUrl.md) + - [Daily::DailyStreamingActiveParticipantLayoutConfig](docs/DailyStreamingActiveParticipantLayoutConfig.md) + - [Daily::DailyStreamingCustomLayoutConfig](docs/DailyStreamingCustomLayoutConfig.md) + - [Daily::DailyStreamingCustomLayoutConfigCompositionParamsValue](docs/DailyStreamingCustomLayoutConfigCompositionParamsValue.md) + - [Daily::DailyStreamingDefaultLayoutConfig](docs/DailyStreamingDefaultLayoutConfig.md) + - [Daily::DailyStreamingEndpoint](docs/DailyStreamingEndpoint.md) + - [Daily::DailyStreamingLayoutConfig](docs/DailyStreamingLayoutConfig.md) + - [Daily::DailyStreamingOptions](docs/DailyStreamingOptions.md) + - [Daily::DailyStreamingPortraitLayoutConfig](docs/DailyStreamingPortraitLayoutConfig.md) + - [Daily::DailyStreamingPortraitLayoutVariant](docs/DailyStreamingPortraitLayoutVariant.md) + - [Daily::DailyStreamingSingleParticipantLayoutConfig](docs/DailyStreamingSingleParticipantLayoutConfig.md) + - [Daily::DeleteTranscript200Response](docs/DeleteTranscript200Response.md) + - [Daily::DialoutProperties](docs/DialoutProperties.md) + - [Daily::DialoutPropertiesCodecs](docs/DialoutPropertiesCodecs.md) + - [Daily::Domain](docs/Domain.md) + - [Daily::DomainProperties](docs/DomainProperties.md) + - [Daily::Eject200Response](docs/Eject200Response.md) + - [Daily::EjectRequest](docs/EjectRequest.md) + - [Daily::GetDomainConfig200Response](docs/GetDomainConfig200Response.md) + - [Daily::GetDomainConfig200ResponseConfig](docs/GetDomainConfig200ResponseConfig.md) + - [Daily::GetDomainConfig200ResponseConfigRecordingsBucket](docs/GetDomainConfig200ResponseConfigRecordingsBucket.md) + - [Daily::GetMeetingInfo200Response](docs/GetMeetingInfo200Response.md) + - [Daily::GetMeetingInfo200ResponseDataInner](docs/GetMeetingInfo200ResponseDataInner.md) + - [Daily::GetMeetingInfo200ResponseDataInnerParticipantsInner](docs/GetMeetingInfo200ResponseDataInnerParticipantsInner.md) + - [Daily::GetPresence200Response](docs/GetPresence200Response.md) + - [Daily::GetPresence200ResponseAIVWWhzHlLHrSdHdw7EWInner](docs/GetPresence200ResponseAIVWWhzHlLHrSdHdw7EWInner.md) + - [Daily::GetRecordingInfo200Response](docs/GetRecordingInfo200Response.md) + - [Daily::GetRecordingInfo200ResponseTracksInner](docs/GetRecordingInfo200ResponseTracksInner.md) + - [Daily::GetRecordingLink200Response](docs/GetRecordingLink200Response.md) + - [Daily::GetTranscriptInfo200Response](docs/GetTranscriptInfo200Response.md) + - [Daily::GetTranscriptInfo200ResponseOutParams](docs/GetTranscriptInfo200ResponseOutParams.md) + - [Daily::GetTranscriptLink200Response](docs/GetTranscriptLink200Response.md) + - [Daily::ListAPILogs200Response](docs/ListAPILogs200Response.md) + - [Daily::ListRecordings200Response](docs/ListRecordings200Response.md) + - [Daily::ListRecordings200ResponseDataInner](docs/ListRecordings200ResponseDataInner.md) + - [Daily::ListRooms200Response](docs/ListRooms200Response.md) + - [Daily::ListRooms200ResponseDataInner](docs/ListRooms200ResponseDataInner.md) + - [Daily::ListRooms200ResponseDataInnerConfig](docs/ListRooms200ResponseDataInnerConfig.md) + - [Daily::ListTranscript200Response](docs/ListTranscript200Response.md) + - [Daily::ListTranscript200ResponseDataInner](docs/ListTranscript200ResponseDataInner.md) + - [Daily::MeetingEnded](docs/MeetingEnded.md) + - [Daily::MeetingEndedPayload](docs/MeetingEndedPayload.md) + - [Daily::MeetingParticipantsGetRes](docs/MeetingParticipantsGetRes.md) + - [Daily::MeetingParticipantsGetResDataInner](docs/MeetingParticipantsGetResDataInner.md) + - [Daily::MeetingStarted](docs/MeetingStarted.md) + - [Daily::MeetingStartedPayload](docs/MeetingStartedPayload.md) + - [Daily::MeetingsMeetingGetRes](docs/MeetingsMeetingGetRes.md) + - [Daily::ParticipantJoined](docs/ParticipantJoined.md) + - [Daily::ParticipantJoinedPayload](docs/ParticipantJoinedPayload.md) + - [Daily::ParticipantJoinedPayloadPermissions](docs/ParticipantJoinedPayloadPermissions.md) + - [Daily::ParticipantLeft](docs/ParticipantLeft.md) + - [Daily::ParticipantLeftPayload](docs/ParticipantLeftPayload.md) + - [Daily::Permissions](docs/Permissions.md) + - [Daily::PermissionsCanAdmin](docs/PermissionsCanAdmin.md) + - [Daily::PermissionsCanSend](docs/PermissionsCanSend.md) + - [Daily::PinDialinInner](docs/PinDialinInner.md) + - [Daily::PinDialinInnerIvrGreeting](docs/PinDialinInnerIvrGreeting.md) + - [Daily::PinlessCallUpdateRequest](docs/PinlessCallUpdateRequest.md) + - [Daily::PinlessDialinInner](docs/PinlessDialinInner.md) + - [Daily::PostWebhook](docs/PostWebhook.md) + - [Daily::Properties](docs/Properties.md) + - [Daily::RecordingError](docs/RecordingError.md) + - [Daily::RecordingErrorPayload](docs/RecordingErrorPayload.md) + - [Daily::RecordingReadyToDownload](docs/RecordingReadyToDownload.md) + - [Daily::RecordingReadyToDownloadPayload](docs/RecordingReadyToDownloadPayload.md) + - [Daily::RecordingStarted](docs/RecordingStarted.md) + - [Daily::RecordingStartedPayload](docs/RecordingStartedPayload.md) + - [Daily::RecordingStreamingOptions](docs/RecordingStreamingOptions.md) + - [Daily::RecordingsBucket](docs/RecordingsBucket.md) + - [Daily::RoomDialOutSendDTMFRequest](docs/RoomDialOutSendDTMFRequest.md) + - [Daily::RoomDialOutStopRequest](docs/RoomDialOutStopRequest.md) + - [Daily::RoomProperties](docs/RoomProperties.md) + - [Daily::RoomPropertiesStreamingEndpointsInner](docs/RoomPropertiesStreamingEndpointsInner.md) + - [Daily::RoomPropertiesStreamingEndpointsInnerHlsConfigVariantsInner](docs/RoomPropertiesStreamingEndpointsInnerHlsConfigVariantsInner.md) + - [Daily::RoomSipCallTransferRequest](docs/RoomSipCallTransferRequest.md) + - [Daily::RoomsRoomNameGetRes](docs/RoomsRoomNameGetRes.md) + - [Daily::RoomsRoomNamePresenceGetRes](docs/RoomsRoomNamePresenceGetRes.md) + - [Daily::RoomsRoomNamePresenceGetResDataInner](docs/RoomsRoomNamePresenceGetResDataInner.md) + - [Daily::SendAppMessageRequest](docs/SendAppMessageRequest.md) + - [Daily::SetRoomConfigRequest](docs/SetRoomConfigRequest.md) + - [Daily::SetSessionDataRequest](docs/SetSessionDataRequest.md) + - [Daily::StreamingEnded](docs/StreamingEnded.md) + - [Daily::StreamingEndedPayload](docs/StreamingEndedPayload.md) + - [Daily::StreamingError](docs/StreamingError.md) + - [Daily::StreamingErrorPayload](docs/StreamingErrorPayload.md) + - [Daily::StreamingStarted](docs/StreamingStarted.md) + - [Daily::StreamingStartedPayload](docs/StreamingStartedPayload.md) + - [Daily::StreamingUpdated](docs/StreamingUpdated.md) + - [Daily::StreamingUpdatedPayload](docs/StreamingUpdatedPayload.md) + - [Daily::TranscriptionBucket](docs/TranscriptionBucket.md) + - [Daily::TranscriptionProperties](docs/TranscriptionProperties.md) + - [Daily::TranscriptionPropertiesEndpointing](docs/TranscriptionPropertiesEndpointing.md) + - [Daily::TranscriptionPropertiesRedact](docs/TranscriptionPropertiesRedact.md) + - [Daily::UpdatePermissionsRequest](docs/UpdatePermissionsRequest.md) + - [Daily::UpdatePermissionsRequestDataValue](docs/UpdatePermissionsRequestDataValue.md) + - [Daily::UpdatePermissionsRequestDataValueCanSend](docs/UpdatePermissionsRequestDataValueCanSend.md) + - [Daily::UpdateWebhook](docs/UpdateWebhook.md) + - [Daily::ValidateMeetingToken200Response](docs/ValidateMeetingToken200Response.md) + - [Daily::WaitingParticipantJoined](docs/WaitingParticipantJoined.md) + - [Daily::WaitingParticipantJoinedPayload](docs/WaitingParticipantJoinedPayload.md) + - [Daily::WaitingParticipantLeft](docs/WaitingParticipantLeft.md) + - [Daily::WaitingParticipantLeftPayload](docs/WaitingParticipantLeftPayload.md) + - [Daily::Webhook](docs/Webhook.md) + ## Documentation for Authorization -Authentication schemes defined for the API: +Authentication schemes defined for the API: ### sec0 + - **Type**: API key - **API key parameter name**: Authorization - **Location**: HTTP header + diff --git a/daily-ruby.gemspec b/daily-ruby.gemspec index 4095caa..50ef684 100644 --- a/daily-ruby.gemspec +++ b/daily-ruby.gemspec @@ -8,7 +8,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -30,6 +30,7 @@ Gem::Specification.new do |s| s.add_runtime_dependency 'faraday', '>= 1.0.1', '< 3.0' s.add_runtime_dependency 'faraday-multipart' + s.add_runtime_dependency 'marcel' s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0' diff --git a/docs/BatchProcessorError.md b/docs/BatchProcessorError.md new file mode 100644 index 0000000..79e637e --- /dev/null +++ b/docs/BatchProcessorError.md @@ -0,0 +1,24 @@ +# Daily::BatchProcessorError + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **version** | **String** | The semantic version of the current message. | [optional] | +| **type** | **String** | The type of event that is being provided. | [optional] | +| **event_ts** | **Float** | The Unix epoch time in seconds representing when the event was generated. | [optional] | +| **payload** | [**BatchProcessorErrorPayload**](BatchProcessorErrorPayload.md) | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::BatchProcessorError.new( + version: null, + type: null, + event_ts: null, + payload: null +) +``` + diff --git a/docs/BatchProcessorErrorPayload.md b/docs/BatchProcessorErrorPayload.md new file mode 100644 index 0000000..93fea62 --- /dev/null +++ b/docs/BatchProcessorErrorPayload.md @@ -0,0 +1,26 @@ +# Daily::BatchProcessorErrorPayload + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **String** | The batch processor job id. | [optional] | +| **preset** | **String** | The preset given when starting the job. | [optional] | +| **status** | **String** | The status of the job. | [optional] | +| **input** | [**BatchProcessorErrorPayloadInput**](BatchProcessorErrorPayloadInput.md) | | [optional] | +| **error** | **String** | A description of the error that occurred. | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::BatchProcessorErrorPayload.new( + id: null, + preset: null, + status: null, + input: null, + error: null +) +``` + diff --git a/docs/BatchProcessorErrorPayloadInput.md b/docs/BatchProcessorErrorPayloadInput.md new file mode 100644 index 0000000..4485d5e --- /dev/null +++ b/docs/BatchProcessorErrorPayloadInput.md @@ -0,0 +1,24 @@ +# Daily::BatchProcessorErrorPayloadInput + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **source_type** | **String** | The source type describing the input of the job. | [optional] | +| **uri** | **String** | If the `sourceType` is `uri` or `transcriptUri`, this field represents the uri to access the content (transcript, video or audio file). | [optional] | +| **recording_id** | **String** | If the `sourceType` is `recordingId`, this field will be present containing the recording ID provided. | [optional] | +| **language** | **String** | If the `sourceType` is `uri`, this field represents the BCP-47 language of the transcript. | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::BatchProcessorErrorPayloadInput.new( + source_type: null, + uri: null, + recording_id: null, + language: null +) +``` + diff --git a/docs/BatchProcessorJobFinished.md b/docs/BatchProcessorJobFinished.md new file mode 100644 index 0000000..7099d39 --- /dev/null +++ b/docs/BatchProcessorJobFinished.md @@ -0,0 +1,24 @@ +# Daily::BatchProcessorJobFinished + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **version** | **String** | The semantic version of the current message. | [optional] | +| **type** | **String** | The type of event that is being provided. | [optional] | +| **event_ts** | **Float** | The Unix epoch time in seconds representing when the event was generated. | [optional] | +| **payload** | [**BatchProcessorJobFinishedPayload**](BatchProcessorJobFinishedPayload.md) | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::BatchProcessorJobFinished.new( + version: null, + type: null, + event_ts: null, + payload: null +) +``` + diff --git a/docs/BatchProcessorJobFinishedPayload.md b/docs/BatchProcessorJobFinishedPayload.md new file mode 100644 index 0000000..16943ff --- /dev/null +++ b/docs/BatchProcessorJobFinishedPayload.md @@ -0,0 +1,26 @@ +# Daily::BatchProcessorJobFinishedPayload + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **String** | The batch processor job id. | [optional] | +| **preset** | **String** | The preset given when starting the job. | [optional] | +| **status** | **String** | The status of the job. | [optional] | +| **input** | [**BatchProcessorJobFinishedPayloadInput**](BatchProcessorJobFinishedPayloadInput.md) | | [optional] | +| **output** | [**BatchProcessorJobFinishedPayloadOutput**](BatchProcessorJobFinishedPayloadOutput.md) | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::BatchProcessorJobFinishedPayload.new( + id: null, + preset: null, + status: null, + input: null, + output: null +) +``` + diff --git a/docs/BatchProcessorJobFinishedPayloadInput.md b/docs/BatchProcessorJobFinishedPayloadInput.md new file mode 100644 index 0000000..1bc9379 --- /dev/null +++ b/docs/BatchProcessorJobFinishedPayloadInput.md @@ -0,0 +1,24 @@ +# Daily::BatchProcessorJobFinishedPayloadInput + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **source_type** | **String** | The source type describing the input of the job. | [optional] | +| **uri** | **String** | If `uri` or `transcriptUri` `sourceType`, this field represents the uri to access the content (transcript, video or audio file). | [optional] | +| **recording_id** | **String** | If `recordingId` `sourceType`, this field represents the id of the recording. | [optional] | +| **language** | **String** | If `uri` `sourceType`, this field represents the BCP-47 language of the transcript. | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::BatchProcessorJobFinishedPayloadInput.new( + source_type: null, + uri: null, + recording_id: null, + language: null +) +``` + diff --git a/docs/BatchProcessorJobFinishedPayloadOutput.md b/docs/BatchProcessorJobFinishedPayloadOutput.md new file mode 100644 index 0000000..3bdb215 --- /dev/null +++ b/docs/BatchProcessorJobFinishedPayloadOutput.md @@ -0,0 +1,24 @@ +# Daily::BatchProcessorJobFinishedPayloadOutput + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **soap** | [**BatchProcessorJobFinishedPayloadOutputSoap**](BatchProcessorJobFinishedPayloadOutputSoap.md) | | [optional] | +| **concept** | [**BatchProcessorJobFinishedPayloadOutputConcept**](BatchProcessorJobFinishedPayloadOutputConcept.md) | | [optional] | +| **summary** | [**BatchProcessorJobFinishedPayloadOutputSummary**](BatchProcessorJobFinishedPayloadOutputSummary.md) | | [optional] | +| **transcription** | [**Array<BatchProcessorJobFinishedPayloadOutputTranscriptionInner>**](BatchProcessorJobFinishedPayloadOutputTranscriptionInner.md) | If this job generated transcriptions output, this field will be defined. | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::BatchProcessorJobFinishedPayloadOutput.new( + soap: null, + concept: null, + summary: null, + transcription: null +) +``` + diff --git a/docs/BatchProcessorJobFinishedPayloadOutputConcept.md b/docs/BatchProcessorJobFinishedPayloadOutputConcept.md new file mode 100644 index 0000000..95019a7 --- /dev/null +++ b/docs/BatchProcessorJobFinishedPayloadOutputConcept.md @@ -0,0 +1,20 @@ +# Daily::BatchProcessorJobFinishedPayloadOutputConcept + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **format** | **String** | The filetype of these concepts. | [optional] | +| **s3_config** | [**BatchProcessorJobFinishedPayloadOutputSoapS3Config**](BatchProcessorJobFinishedPayloadOutputSoapS3Config.md) | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::BatchProcessorJobFinishedPayloadOutputConcept.new( + format: null, + s3_config: null +) +``` + diff --git a/docs/BatchProcessorJobFinishedPayloadOutputSoap.md b/docs/BatchProcessorJobFinishedPayloadOutputSoap.md new file mode 100644 index 0000000..c82843c --- /dev/null +++ b/docs/BatchProcessorJobFinishedPayloadOutputSoap.md @@ -0,0 +1,20 @@ +# Daily::BatchProcessorJobFinishedPayloadOutputSoap + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **format** | **String** | The filetype of this SOAP note. | [optional] | +| **s3_config** | [**BatchProcessorJobFinishedPayloadOutputSoapS3Config**](BatchProcessorJobFinishedPayloadOutputSoapS3Config.md) | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::BatchProcessorJobFinishedPayloadOutputSoap.new( + format: null, + s3_config: null +) +``` + diff --git a/docs/BatchProcessorJobFinishedPayloadOutputSoapS3Config.md b/docs/BatchProcessorJobFinishedPayloadOutputSoapS3Config.md new file mode 100644 index 0000000..b98c190 --- /dev/null +++ b/docs/BatchProcessorJobFinishedPayloadOutputSoapS3Config.md @@ -0,0 +1,22 @@ +# Daily::BatchProcessorJobFinishedPayloadOutputSoapS3Config + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **bucket** | **String** | The s3 bucket containing this file. | [optional] | +| **key** | **String** | The s3 object location of this file. | [optional] | +| **region** | **String** | The s3 bucket region. | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::BatchProcessorJobFinishedPayloadOutputSoapS3Config.new( + bucket: null, + key: null, + region: null +) +``` + diff --git a/docs/BatchProcessorJobFinishedPayloadOutputSummary.md b/docs/BatchProcessorJobFinishedPayloadOutputSummary.md new file mode 100644 index 0000000..15ce81b --- /dev/null +++ b/docs/BatchProcessorJobFinishedPayloadOutputSummary.md @@ -0,0 +1,20 @@ +# Daily::BatchProcessorJobFinishedPayloadOutputSummary + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **format** | **String** | The filetype of this summary. | [optional] | +| **s3_config** | [**BatchProcessorJobFinishedPayloadOutputSoapS3Config**](BatchProcessorJobFinishedPayloadOutputSoapS3Config.md) | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::BatchProcessorJobFinishedPayloadOutputSummary.new( + format: null, + s3_config: null +) +``` + diff --git a/docs/BatchProcessorJobFinishedPayloadOutputTranscriptionInner.md b/docs/BatchProcessorJobFinishedPayloadOutputTranscriptionInner.md new file mode 100644 index 0000000..1bd741d --- /dev/null +++ b/docs/BatchProcessorJobFinishedPayloadOutputTranscriptionInner.md @@ -0,0 +1,20 @@ +# Daily::BatchProcessorJobFinishedPayloadOutputTranscriptionInner + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **format** | **String** | The filetype of this transcription. | [optional] | +| **s3_config** | [**BatchProcessorJobFinishedPayloadOutputSoapS3Config**](BatchProcessorJobFinishedPayloadOutputSoapS3Config.md) | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::BatchProcessorJobFinishedPayloadOutputTranscriptionInner.new( + format: null, + s3_config: null +) +``` + diff --git a/docs/BuyPhoneNumberRequest.md b/docs/BuyPhoneNumberRequest.md new file mode 100644 index 0000000..8d4a7d1 --- /dev/null +++ b/docs/BuyPhoneNumberRequest.md @@ -0,0 +1,18 @@ +# Daily::BuyPhoneNumberRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **number** | **String** | The phone number to purchase | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::BuyPhoneNumberRequest.new( + number: null +) +``` + diff --git a/docs/DailyStreamingCustomLayoutConfig.md b/docs/DailyStreamingCustomLayoutConfig.md index d331d51..d3cf544 100644 --- a/docs/DailyStreamingCustomLayoutConfig.md +++ b/docs/DailyStreamingCustomLayoutConfig.md @@ -6,7 +6,7 @@ | ---- | ---- | ----------- | ----- | | **preset** | **String** | | | | **composition_id** | **String** | | | -| **composition_params** | [**Hash<String, DailyStreamingCustomLayoutConfigCompositionParams>**](DailyStreamingCustomLayoutConfigCompositionParams.md) | | [optional] | +| **composition_params** | [**Hash<String, DailyStreamingCustomLayoutConfigCompositionParamsValue>**](DailyStreamingCustomLayoutConfigCompositionParamsValue.md) | | [optional] | | **session_assets** | **Hash<String, String>** | | [optional] | ## Example diff --git a/docs/DailyStreamingCustomLayoutConfigCompositionParamsValue.md b/docs/DailyStreamingCustomLayoutConfigCompositionParamsValue.md new file mode 100644 index 0000000..280210a --- /dev/null +++ b/docs/DailyStreamingCustomLayoutConfigCompositionParamsValue.md @@ -0,0 +1,15 @@ +# Daily::DailyStreamingCustomLayoutConfigCompositionParamsValue + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::DailyStreamingCustomLayoutConfigCompositionParamsValue.new() +``` + diff --git a/docs/DialinApi.md b/docs/DialinApi.md new file mode 100644 index 0000000..b64c52d --- /dev/null +++ b/docs/DialinApi.md @@ -0,0 +1,80 @@ +# Daily::DialinApi + +All URIs are relative to *https://api.daily.co/v1* + +| Method | HTTP request | Description | +| ------ | ------------ | ----------- | +| [**pinless_call_update**](DialinApi.md#pinless_call_update) | **POST** /dialin/pinlessCallUpdate | /dialin/pinlessCallUpdate | + + +## pinless_call_update + +> pinless_call_update(opts) + +/dialin/pinlessCallUpdate + +Direct a SIP or PSTN call on hold to a specified SIP URI associated to a Daily Room. + +### Examples + +```ruby +require 'time' +require 'daily-ruby' +# setup authorization +Daily.configure do |config| + # Configure API key authorization: sec0 + config.api_key['sec0'] = 'YOUR API KEY' + # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil) + # config.api_key_prefix['sec0'] = 'Bearer' +end + +api_instance = Daily::DialinApi.new +opts = { + pinless_call_update_request: Daily::PinlessCallUpdateRequest.new # PinlessCallUpdateRequest | +} + +begin + # /dialin/pinlessCallUpdate + api_instance.pinless_call_update(opts) +rescue Daily::ApiError => e + puts "Error when calling DialinApi->pinless_call_update: #{e}" +end +``` + +#### Using the pinless_call_update_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> pinless_call_update_with_http_info(opts) + +```ruby +begin + # /dialin/pinlessCallUpdate + data, status_code, headers = api_instance.pinless_call_update_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Daily::ApiError => e + puts "Error when calling DialinApi->pinless_call_update_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **pinless_call_update_request** | [**PinlessCallUpdateRequest**](PinlessCallUpdateRequest.md) | | [optional] | + +### Return type + +nil (empty response body) + +### Authorization + +[sec0](../README.md#sec0) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + diff --git a/docs/DialoutProperties.md b/docs/DialoutProperties.md new file mode 100644 index 0000000..7aa0fad --- /dev/null +++ b/docs/DialoutProperties.md @@ -0,0 +1,26 @@ +# Daily::DialoutProperties + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **sip_uri** | **String** | sipUri to call. uri should start with `sip:`. | [optional] | +| **phone_number** | **String** | phone number to call. number must start with country code e.g `+1` | [optional] | +| **display_name** | **String** | The sipUri or The phone participant is shown with this name in the web UI. | [optional] | +| **video** | **Boolean** | Enable SIP video in the room, only availble for sipUri. | [optional] | +| **codecs** | [**DialoutPropertiesCodecs**](DialoutPropertiesCodecs.md) | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::DialoutProperties.new( + sip_uri: null, + phone_number: null, + display_name: null, + video: null, + codecs: null +) +``` + diff --git a/docs/DialoutPropertiesCodecs.md b/docs/DialoutPropertiesCodecs.md new file mode 100644 index 0000000..c1b0e8a --- /dev/null +++ b/docs/DialoutPropertiesCodecs.md @@ -0,0 +1,20 @@ +# Daily::DialoutPropertiesCodecs + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **audio** | **Array<String>** | | [optional] | +| **video** | **Array<String>** | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::DialoutPropertiesCodecs.new( + audio: null, + video: null +) +``` + diff --git a/docs/DomainProperties.md b/docs/DomainProperties.md index 11dbc6e..f0a6162 100644 --- a/docs/DomainProperties.md +++ b/docs/DomainProperties.md @@ -11,6 +11,7 @@ | **enable_hand_raising** | **Boolean** | Sets whether the participants in the room can use [Daily Prebuilt](https://www.daily.co/prebuilt)'s hand raising controls. When set to `true`, an additional button will be available in Daily Prebuilt's UI to toggle a hand raise. ⚠️ This flag only applies to Daily Prebuilt. It has no effect when building custom video applications with the Daily call object. | [optional][default to false] | | **enable_prejoin_ui** | **Boolean** | Determines whether participants enter a waiting room with a camera, mic, and browser check before joining a call in any room under this domain. ⚠️ You must be using [Daily Prebuilt](https://daily.co/blog/daily-prebuilt-video-chat) to use `enable_prejoin_ui`. | [optional][default to true] | | **enable_breakout_rooms** | **Boolean** | Sets whether rooms for this domain have [Daily Prebuilt](https://www.daily.co/prebuilt)’s breakout rooms feature enabled. When set to `true`, an owner in a Prebuilt call can create breakout rooms to divide participants into smaller, private groups. ⚠️ You must be using [Daily Prebuilt](https://daily.co/blog/daily-prebuilt-video-chat) to use `enable_breakout_rooms`. ⚠️ This property is in beta. | [optional][default to false] | +| **enable_live_captions_ui** | **Boolean** | Sets whether participants in a room see a closed captions button in their Daily Prebuilt call tray. When the closed caption button is clicked, closed captions are displayed locally. When set to `true`, a closed captions button appears in the call tray. When set to `false`, the closed captions button is hidden from the call tray. Note: Transcription must be enabled for the room or users must have permission to start transcription for this feature to be enabled. View the [transcription guide](/guides/products/transcription) for more details. ⚠️ You must be using [Daily Prebuilt](https://daily.co/blog/daily-prebuilt-video-chat) to use `enable_live_captions_ui`. | [optional][default to false] | | **enable_network_ui** | **Boolean** | Determines whether the network button, and the network panel it reveals on click, appears across all rooms belonging to this domain. ⚠️ You must be using [Daily Prebuilt](https://daily.co/blog/daily-prebuilt-video-chat) to use `enable_network_ui`. | [optional][default to false] | | **enable_noise_cancellation_ui** | **Boolean** | Determines whether Daily Prebuilt displays noise cancellation controls. When set to `true`, a participant can enable microphone noise cancellation during a Daily Prebuilt call. ⚠️ This flag only applies to Daily Prebuilt. It has no effect when building custom video applications with the Daily call object. To learn more about adding noise cancellation to a custom application, see the [`updateInputSettings()` docs](/reference/daily-js/instance-methods/update-input-settings). | [optional][default to true] | | **enable_video_processing_ui** | **Boolean** | Determines whether Daily Prebuilt displays background blur controls. When set to `true`, a participant can enable blur during a Daily Prebuilt call. ⚠️ This flag only applies to Daily Prebuilt. It has no effect when building custom video applications with the Daily call object. | [optional][default to true] | @@ -19,7 +20,7 @@ | **hipaa** | **Boolean** | Email us at help@daily.co to turn on HIPAA. Learn more about [our HIPAA compliance](https://www.daily.co/hipaa-compliance). | [optional][default to false] | | **intercom_auto_record** | **Boolean** | Whether to automatically start recording when an Intercom support agent joins an Intercom-created call. Please see our [Intercom Messenger App page](https://www.daily.co/intercom) for more information. ⚠️This method is read-only; please contact us if you'd like to enable intercom call auto-recording. | [optional] | | **lang** | **String** | The default language for the video call UI, for all calls. If you set the language at this domain level, you can still override the setting for specific rooms in [a room's configuration properties](/reference/rest-api/rooms/config), or for a specific participant in a [meeting token](/reference/rest-api/meeting-tokens/config). You can also set the language dynamically using the front-end library [setDailyLang() method](/reference/daily-js/instance-methods/set-daily-lang). `*` Norwegian `\"no\"` and Russian `\"ru\"` are only available in the new Daily Prebuilt. | [optional][default to 'en'] | -| **meeting_join_hook** | **String** | Sets a URL that will receive a webhook when a user joins a room. | [optional][default to 'NULL'] | +| **meeting_join_hook** | **String** | Sets a URL that will receive a webhook when a user joins a room. ⚠️ In place of the `meeting_join_hook`, we recommend setting up a [webhook](/reference/rest-api/webhooks) and listening for the [`participant.joined`](/reference/rest-api/webhooks/events/participant-joined) event. | [optional][default to 'NULL'] | | **geo** | **String** | Daily uses signaling servers to manage all of the participants in a given call session. In an SFU/server mode call, the server will send and receive all audio and video from each participant. In a peer-to-peer call, each participant sends media directly to and from each other peer, but a signaling server still manages call state. Daily runs servers in several different AWS regions to minimize latency for users around the world. The job of 'picking' a call server is handled when the first participant joins a room. The first participant's browser connects to a call server using Amazon's Route 53 DNS resolution, which chooses a server in the region closest to them. This isn't always optimal. For example, if one person joins in London, and then ten more people join from Cape Town, the call will still be hosted out of `eu-west-2` . The majority of the participants will have higher latency to the server than if one of them had joined first and the call was being hosted in `af-south-1`. In cases like this, you may want to configure your domain (or a specific room) to always choose a call server in a specific AWS region. Available regions: - `\"af-south-1\"` (Cape Town) - `\"ap-northeast-2\"` (Seoul) - `\"ap-southeast-1\"` (Singapore) - `\"ap-southeast-2\"` (Sydney) - `\"ap-south-1\"` (Mumbai) - `\"eu-central-1\"` (Frankfurt) - `\"eu-west-2\"` (London) - `\"sa-east-1\"` (São Paulo) - `\"us-east-1\"` (N. Virginia) - `\"us-west-2\"` (Oregon) | [optional][default to 'NULL'] | | **rtmp_geo** | **String** | Used to select the region where an RTMP stream should originate. In cases where RTMP streaming services aren't available in the desired region, we'll attempt to fall back to the default region based on the SFU being used for the meeting. Available regions: - `\"us-west-2\"` (Oregon) - `\"eu-central-1\"` (Frankfurt) - `\"ap-south-1\"` (Mumbai) The default regions are grouped based on the SFU region like so: - RTMP region `\"us-west-2\"` includes SFU regions: `\"us-west-2\"`, `\"us-east-1\"`, `\"sa-east-1\"` - RTMP region `\"eu-central-1\"` includes SFU regions: `\"eu-central-1\"`, `\"eu-west-2\"`, `\"af-south-1\"` - RTMP region `\"ap-south-1\"` includes SFU regions: `\"ap-southeast-1\"`, `\"ap-southeast-2\"`, `\"ap-northeast-2\"`, `\"ap-south-1\"` | [optional][default to 'The closest available region to the SFU region used by the meeting.'] | | **disable_rtmp_geo_fallback** | **Boolean** | Disable the fall back behavior of rtmp_geo. When rtmp_geo is set, we first try to connect to a media server in desired region. If a media server is not available in the desired region, we fall back to default region based on SFU's region. This property disables this automatic fall back. When this property is set, we will trigger a recording/streaming error event when media worker is unavailable. Also, the client should retry recording/streaming. | [optional][default to false] | @@ -28,11 +29,15 @@ | **transcription_bucket** | [**TranscriptionBucket**](TranscriptionBucket.md) | | [optional] | | **recordings_template** | **String** | Cloud recordings are stored in either Daily's S3 bucket or the customer's own S3 bucket. By default recordings are stored as `{domain_name}/{room_name}/{epoch_time}`. Sometimes, the use case may call for custom recording file names to be used (for example, if you'd like to enforce the presence of the .mp4 extension in the file name). `recordings_template` is made up of a replacement string with prefixes, suffixes, or both. The currently supported replacements are: - `epoch_time`: The epoch time in seconds (mandatory) - `domain_name`: Your Daily domain (optional) - `room_name`: The name of the room which is getting recorded (optional) - `mtg_session_id`: The ID of the meeting session which is getting recorded (optional) - `instance_id`: The instance ID of the recording (optional) - `recording_id`: The recording ID of the recording (optional) The restrictions for defining a recording template are as follows: - The `epoch_time` tag is mandatory to ensure the recording file name is unique under all conditions - The maximum size of the template is 1024 characters - Each replacement parameter should be placed within a curly bracket (e.g., `{domain_name}`) - Only alphanumeric characters `(0-9, A-Z, a-z)` and `.`, `/`, `-`, `_` are valid within the template - `.mp4` is the only valid extension Examples - Example domain: \"myDomain\" - Example room: \"myRoom\" Example 1: - Template: `myprefix-{domain_name}-{epoch_time}.mp4` - Resulting file name: `myprefix-myDomain-1675842936274.mp4` Example 2: - Template: `{room_name}/{instance_id}/{epoch_time}` - Resulting room name: `myRoom/d529cd2f-fbcc-4fb7-b2c0-c4995b1162b6/1675842936274` | [optional][default to '{domain_name}/{room_name}/{epoch_time}.'] | | **enable_mesh_sfu** | **Boolean** | Configures a room to use multiple SFUs for a call's media. This feature enables calls to scale to large sizes and to reduce latency between participants. It is recommended specifically for interactive live streaming. See our [guide for interactive live streaming](/guides/scaling-calls/interactive-live-streaming-rtmp-output#daily-prebuilt-configurations-to-support-100-000-participants) for additional instruction. | [optional] | -| **sfu_switchover** | **Float** | Dictates the participant count after which room topology automatically switches from Peer-to-Peer (P2P) to Selective Forwarding Unit (SFU) mode, or vice versa. For example, if `sfu_switchover` is set to `3` and the current network topology is P2P, the topology will switch to SFU mode when the _fourth_ participant joins the call. If the current topology is SFU, it will switch to P2P mode when the participant count decreases from `3` to `2`. We recommend specifying an integer value for this property except for cases where you would like the room to switch to SFU mode as soon as the first participant joins. In this case, set `sfu_switchover` to `0.5`. See our [guide about video call architecture](/guides/architecture-and-monitoring/intro-to-video-arch#the-architecture-of-a-room-p2p-vs-sfu-calls) for additional information. | [optional][default to 2] | +| **sfu_switchover** | **Float** | Dictates the participant count after which room topology automatically switches from Peer-to-Peer (P2P) to Selective Forwarding Unit (SFU) mode, or vice versa. For example, if `sfu_switchover` is set to `2` and the current network topology is P2P, the topology will switch to SFU mode when the _third_ participant joins the call. If the current topology is SFU, it will switch to P2P mode when the participant count decreases from `2` to `1`. We recommend specifying an integer value for this property except for cases where you would like the room to switch to SFU mode as soon as the first participant joins. In this case, set `sfu_switchover` to `0.5`. See our [guide about video call architecture](/guides/architecture-and-monitoring/intro-to-video-arch#the-architecture-of-a-room-p2p-vs-sfu-calls) for additional information. | [optional][default to 0.5] | +| **enable_adaptive_simulcast** | **Boolean** | Configures a domain or room to use [Daily Adaptive Bitrate](/guides/building-additional-features/daily-adaptive-bitrate). When enabled, along with configuring the client to [`allowAdaptiveLayers`](/reference/daily-js/instance-methods/update-send-settings#sendsettings), the Daily client will continually adapt send settings to the current network conditions. `allowAdaptiveLayers` is `true` by default; if you haven't modified that setting, then setting `enable_adaptive_simulcast` to `true` will enable Daily Adaptive Bitrate for 1:1 calls. | [optional][default to true] | +| **enforce_unique_user_ids** | **Boolean** | Configures a domain or room to disallow multiple participants from having the same `user_id`. This feature can be enabled to prevent users from \"sharing\" meeting tokens. When enabled, a participant joining or reconnecting to a meeting will cause existing participants with the same user_id to be ejected. | [optional][default to false] | | **recordings_bucket** | [**RecordingsBucket**](RecordingsBucket.md) | | [optional] | | **permissions** | [**Permissions**](Permissions.md) | | [optional] | | **batch_processor_bucket** | **Object** | Defines a custom S3 bucket where the batch processor will write its output | [optional] | -| **batch_processor_enable_medical_concept** | **Boolean** | Enables whether the batch processor will use [ScienceIO metadata concepts](https://www.science.io/) when generating SOAP notes. | [optional][default to true] | +| **enable_opus_fec** | **Boolean** | Enables the use of Opus in-band FEC (Forward Error Correction) when encoding audio to send, where possible. This can make audio quality more resilient to packet loss. | [optional] | +| **pinless_dialin** | [**Array<PinlessDialinInner>**](PinlessDialinInner.md) | [SIP Interconnect and Pinless Dialin](/guides/products/dial-in-dial-out/dialin-pinless#provisioning-sip-interconnect-and-pinless-dialin-workflow),i.e., without entering a PIN code when dialling a phone number or directly calling a Daily SIP Interconnect address. In this case you dont need a SIP address associated to a particular Daily Room. When a call comes in to this phone number or to the sip interconnect address, it will trigger a webhook, where you'll need to create the Daily room and forward the call to the `sipUri` assocaited to the newly created room. The Pinless Dialin only works with purchased phone numbers, because the call is not intended for a particular Daily room. Read more details on our [dosc-site](/guides/products/dial-in-dial-out/dialin-pinless). | [optional] | +| **pin_dialin** | [**Array<PinDialinInner>**](PinDialinInner.md) | Dialin with a [PIN code](/guides/products/dial-in-dial-out/dialin-pin). This works with both the Global phone numbers and any number that you purchased. When a call comes into one of the phone numbers, the dialer must enter the PIN code. If the code is correct, the user will be connected to the Daily Room. Otherwise the incoming call will be disconnected if an incorrect PIN code is entered. | [optional] | ## Example @@ -47,6 +52,7 @@ instance = Daily::DomainProperties.new( enable_hand_raising: null, enable_prejoin_ui: null, enable_breakout_rooms: null, + enable_live_captions_ui: null, enable_network_ui: null, enable_noise_cancellation_ui: null, enable_video_processing_ui: null, @@ -65,10 +71,14 @@ instance = Daily::DomainProperties.new( recordings_template: null, enable_mesh_sfu: null, sfu_switchover: null, + enable_adaptive_simulcast: null, + enforce_unique_user_ids: null, recordings_bucket: null, permissions: null, batch_processor_bucket: null, - batch_processor_enable_medical_concept: null + enable_opus_fec: null, + pinless_dialin: null, + pin_dialin: null ) ``` diff --git a/docs/EjectRequest.md b/docs/EjectRequest.md index 8967358..5b1ba3e 100644 --- a/docs/EjectRequest.md +++ b/docs/EjectRequest.md @@ -4,7 +4,9 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **ids** | **Array<String>** | Required list of participant ids (max 100) to eject from the existing meeting session. | [optional] | +| **ids** | **Array<String>** | List of participant ids (max 100) to eject from the existing meeting session. | [optional] | +| **user_ids** | **Array<String>** | List of user_ids (max 100) to eject from the existing meeting session. | [optional] | +| **ban** | **Boolean** | If true, participants are prevented from (re)joining with the given user_ids. | [optional][default to false] | ## Example @@ -12,7 +14,9 @@ require 'daily-ruby' instance = Daily::EjectRequest.new( - ids: null + ids: null, + user_ids: null, + ban: null ) ``` diff --git a/docs/GetDomainConfig200ResponseConfig.md b/docs/GetDomainConfig200ResponseConfig.md index a36d6d4..5e4da63 100644 --- a/docs/GetDomainConfig200ResponseConfig.md +++ b/docs/GetDomainConfig200ResponseConfig.md @@ -20,6 +20,7 @@ | **max_streaming_instances_per_room** | **Float** | | [optional] | | **enable_daily_logger** | **Boolean** | | [optional] | | **enable_prejoin_ui** | **Boolean** | | [optional] | +| **enable_live_captions_ui** | **Boolean** | | [optional] | | **enable_network_ui** | **Boolean** | | [optional] | | **disable_rate_limiting** | **Boolean** | | [optional] | | **attach_callobject_to_window** | **Boolean** | | [optional] | @@ -46,6 +47,7 @@ instance = Daily::GetDomainConfig200ResponseConfig.new( max_streaming_instances_per_room: null, enable_daily_logger: null, enable_prejoin_ui: null, + enable_live_captions_ui: null, enable_network_ui: null, disable_rate_limiting: null, attach_callobject_to_window: null diff --git a/docs/GetTranscriptInfo200Response.md b/docs/GetTranscriptInfo200Response.md index 62a765f..2a22da4 100644 --- a/docs/GetTranscriptInfo200Response.md +++ b/docs/GetTranscriptInfo200Response.md @@ -11,7 +11,7 @@ | **status** | **String** | | [optional] | | **duration** | **Integer** | How many seconds long the transcription is, approximately. | [optional] | | **out_params** | [**GetTranscriptInfo200ResponseOutParams**](GetTranscriptInfo200ResponseOutParams.md) | | [optional] | -| **error** | **String** | if `status` is `t_error`, this provide the description of the error. | [optional] | +| **error** | **String** | If `status` is `t_error`, this provide the description of the error, otherwise `null`. | [optional] | ## Example diff --git a/docs/ListAPILogs200Response.md b/docs/ListAPILogs200Response.md index 1c8d16c..e96ca21 100644 --- a/docs/ListAPILogs200Response.md +++ b/docs/ListAPILogs200Response.md @@ -5,7 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **id** | **String** | An ID identifying the log that was generated. | [optional] | -| **user_id** | **String** | The user ID associated with the owner of the account. | [optional] | +| **user_id** | **String** | The user ID associated with the owner of the account. | [optional] | | **domain_id** | **String** | The domain ID associated with this log statement. | [optional] | | **source** | **String** | The source of this log statement. This will be `\"api\"` or `\"webhook\"`. | [optional] | | **ip** | **String** | The originating IP address of this request. | [optional] | diff --git a/docs/MeetingEnded.md b/docs/MeetingEnded.md new file mode 100644 index 0000000..108fd6d --- /dev/null +++ b/docs/MeetingEnded.md @@ -0,0 +1,24 @@ +# Daily::MeetingEnded + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **version** | **String** | The semantic version of the current message. | [optional] | +| **type** | **String** | The type of event that is being provided. | [optional] | +| **event_ts** | **Float** | The Unix epoch time in seconds representing when the event was generated. | [optional] | +| **payload** | [**MeetingEndedPayload**](MeetingEndedPayload.md) | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::MeetingEnded.new( + version: null, + type: null, + event_ts: null, + payload: null +) +``` + diff --git a/docs/MeetingEndedPayload.md b/docs/MeetingEndedPayload.md new file mode 100644 index 0000000..5fb8190 --- /dev/null +++ b/docs/MeetingEndedPayload.md @@ -0,0 +1,24 @@ +# Daily::MeetingEndedPayload + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **start_ts** | **Float** | The Unix epoch time in seconds representing when the meeting started. | [optional] | +| **end_ts** | **Float** | The Unix epoch time in seconds representing when the meeting ended. | [optional] | +| **meeting_id** | **String** | The meeting ID. | [optional] | +| **room** | **String** | The name of the room. | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::MeetingEndedPayload.new( + start_ts: null, + end_ts: null, + meeting_id: null, + room: null +) +``` + diff --git a/docs/MeetingParticipantsGetRes.md b/docs/MeetingParticipantsGetRes.md index f8655db..e141f4d 100644 --- a/docs/MeetingParticipantsGetRes.md +++ b/docs/MeetingParticipantsGetRes.md @@ -4,7 +4,6 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **total_count** | **Integer** | | [optional] | | **data** | [**Array<MeetingParticipantsGetResDataInner>**](MeetingParticipantsGetResDataInner.md) | | [optional] | ## Example @@ -13,7 +12,6 @@ require 'daily-ruby' instance = Daily::MeetingParticipantsGetRes.new( - total_count: 5, data: null ) ``` diff --git a/docs/MeetingStarted.md b/docs/MeetingStarted.md new file mode 100644 index 0000000..ff6d689 --- /dev/null +++ b/docs/MeetingStarted.md @@ -0,0 +1,24 @@ +# Daily::MeetingStarted + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **version** | **String** | The semantic version of the current message. | [optional] | +| **type** | **String** | The type of event that is being provided. | [optional] | +| **event_ts** | **Float** | The Unix epoch time in seconds representing when the event was generated. | [optional] | +| **payload** | [**MeetingStartedPayload**](MeetingStartedPayload.md) | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::MeetingStarted.new( + version: null, + type: null, + event_ts: null, + payload: null +) +``` + diff --git a/docs/MeetingStartedPayload.md b/docs/MeetingStartedPayload.md new file mode 100644 index 0000000..c276213 --- /dev/null +++ b/docs/MeetingStartedPayload.md @@ -0,0 +1,22 @@ +# Daily::MeetingStartedPayload + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **start_ts** | **Float** | The Unix epoch time in seconds representing when meeting started. | [optional] | +| **meeting_id** | **String** | The meeting ID. | [optional] | +| **room** | **String** | The name of the room. | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::MeetingStartedPayload.new( + start_ts: null, + meeting_id: null, + room: null +) +``` + diff --git a/docs/ParticipantJoined.md b/docs/ParticipantJoined.md new file mode 100644 index 0000000..9b874e4 --- /dev/null +++ b/docs/ParticipantJoined.md @@ -0,0 +1,24 @@ +# Daily::ParticipantJoined + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **version** | **String** | The semantic version of the current message. | [optional] | +| **type** | **String** | The type of event that is being provided. | [optional] | +| **event_ts** | **Float** | The Unix epoch time in seconds representing when the event was generated. | [optional] | +| **payload** | [**ParticipantJoinedPayload**](ParticipantJoinedPayload.md) | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::ParticipantJoined.new( + version: null, + type: null, + event_ts: null, + payload: null +) +``` + diff --git a/docs/ParticipantJoinedPayload.md b/docs/ParticipantJoinedPayload.md new file mode 100644 index 0000000..505cc09 --- /dev/null +++ b/docs/ParticipantJoinedPayload.md @@ -0,0 +1,32 @@ +# Daily::ParticipantJoinedPayload + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **joined_at** | **Float** | The Unix epoch time in seconds representing when the participant joined. | [optional] | +| **session_id** | **String** | The user session ID, or participant id. | [optional] | +| **room** | **String** | The name of the room. | [optional] | +| **user_id** | **String** | The ID of the user, set by the meeting token. | [optional] | +| **user_name** | **String** | The name of the user, set by the meeting token. | [optional] | +| **owner** | **Boolean** | A flag determining if this user is considered the owner. | [optional] | +| **will_eject_at** | **Float** | The Unix epoch time in seconds representing when the participant will be ejected. | [optional] | +| **permissions** | [**ParticipantJoinedPayloadPermissions**](ParticipantJoinedPayloadPermissions.md) | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::ParticipantJoinedPayload.new( + joined_at: null, + session_id: null, + room: null, + user_id: null, + user_name: null, + owner: null, + will_eject_at: null, + permissions: null +) +``` + diff --git a/docs/ParticipantJoinedPayloadPermissions.md b/docs/ParticipantJoinedPayloadPermissions.md new file mode 100644 index 0000000..c07aeef --- /dev/null +++ b/docs/ParticipantJoinedPayloadPermissions.md @@ -0,0 +1,22 @@ +# Daily::ParticipantJoinedPayloadPermissions + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **has_presence** | **Boolean** | Determines whether the participant is \"present\" or \"hidden\" | [optional] | +| **can_send** | **Array<String>** | Array of strings identifying which types of media the participant can send or a boolean to grant/revoke permissions for all media types. | [optional] | +| **can_admin** | **Array<String>** | Array of strings identifying which types of admin tasks the participant can do or a boolean to grant/revoke permissions for all types. | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::ParticipantJoinedPayloadPermissions.new( + has_presence: null, + can_send: null, + can_admin: null +) +``` + diff --git a/docs/ParticipantLeft.md b/docs/ParticipantLeft.md new file mode 100644 index 0000000..aaea4dd --- /dev/null +++ b/docs/ParticipantLeft.md @@ -0,0 +1,24 @@ +# Daily::ParticipantLeft + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **version** | **String** | The semantic version of the current message. | [optional] | +| **type** | **String** | The type of event that is being provided. | [optional] | +| **event_ts** | **Float** | The Unix epoch time in seconds representing when the event was generated. | [optional] | +| **payload** | [**ParticipantLeftPayload**](ParticipantLeftPayload.md) | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::ParticipantLeft.new( + version: null, + type: null, + event_ts: null, + payload: null +) +``` + diff --git a/docs/ParticipantLeftPayload.md b/docs/ParticipantLeftPayload.md new file mode 100644 index 0000000..7d4e6ed --- /dev/null +++ b/docs/ParticipantLeftPayload.md @@ -0,0 +1,34 @@ +# Daily::ParticipantLeftPayload + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **joined_at** | **Float** | The Unix epoch time in seconds representing when the participant joined. | [optional] | +| **duration** | **Float** | The time in seconds representing how long the participant was in the call. | [optional] | +| **session_id** | **String** | The user session ID, or participant id. | [optional] | +| **room** | **String** | The name of the room. | [optional] | +| **user_id** | **String** | The ID of the user, set by the meeting token. | [optional] | +| **user_name** | **String** | The name of the user, set by the meeting token. | [optional] | +| **owner** | **Boolean** | A flag determining if this user is considered the owner. | [optional] | +| **will_eject_at** | **Float** | The Unix epoch time in seconds representing when the participant will be ejected. | [optional] | +| **permissions** | [**ParticipantJoinedPayloadPermissions**](ParticipantJoinedPayloadPermissions.md) | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::ParticipantLeftPayload.new( + joined_at: null, + duration: null, + session_id: null, + room: null, + user_id: null, + user_name: null, + owner: null, + will_eject_at: null, + permissions: null +) +``` + diff --git a/docs/PhoneNumbersApi.md b/docs/PhoneNumbersApi.md new file mode 100644 index 0000000..1ee295f --- /dev/null +++ b/docs/PhoneNumbersApi.md @@ -0,0 +1,304 @@ +# Daily::PhoneNumbersApi + +All URIs are relative to *https://api.daily.co/v1* + +| Method | HTTP request | Description | +| ------ | ------------ | ----------- | +| [**buy_phone_number**](PhoneNumbersApi.md#buy_phone_number) | **POST** /buy-phone-number | /buy-phone-number | +| [**list_available_numbers**](PhoneNumbersApi.md#list_available_numbers) | **GET** /list-available-numbers | /list-available-numbers | +| [**purchased_phone_nunbers**](PhoneNumbersApi.md#purchased_phone_nunbers) | **GET** /purchased-phone-numbers | /purchased-phone-numbers | +| [**release_phone_number**](PhoneNumbersApi.md#release_phone_number) | **DELETE** /release-phone-number/{id} | release-phone-number/:id | + + +## buy_phone_number + +> Object buy_phone_number(opts) + +/buy-phone-number + +This will buy a phone number. In the POST request you can either provide the phone number you want to buy, or leave it empty. If the specified `number` is still available, it will be bought or the API will return a failure. Alternatively, if you skipped the `number` field, a random phone number from California (CA) will be bought. + +### Examples + +```ruby +require 'time' +require 'daily-ruby' +# setup authorization +Daily.configure do |config| + # Configure API key authorization: sec0 + config.api_key['sec0'] = 'YOUR API KEY' + # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil) + # config.api_key_prefix['sec0'] = 'Bearer' +end + +api_instance = Daily::PhoneNumbersApi.new +opts = { + buy_phone_number_request: Daily::BuyPhoneNumberRequest.new # BuyPhoneNumberRequest | +} + +begin + # /buy-phone-number + result = api_instance.buy_phone_number(opts) + p result +rescue Daily::ApiError => e + puts "Error when calling PhoneNumbersApi->buy_phone_number: #{e}" +end +``` + +#### Using the buy_phone_number_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> buy_phone_number_with_http_info(opts) + +```ruby +begin + # /buy-phone-number + data, status_code, headers = api_instance.buy_phone_number_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => Object +rescue Daily::ApiError => e + puts "Error when calling PhoneNumbersApi->buy_phone_number_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **buy_phone_number_request** | [**BuyPhoneNumberRequest**](BuyPhoneNumberRequest.md) | | [optional] | + +### Return type + +**Object** + +### Authorization + +[sec0](../README.md#sec0) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## list_available_numbers + +> list_available_numbers(opts) + +/list-available-numbers + +Search for available phone numbers to purchase + +### Examples + +```ruby +require 'time' +require 'daily-ruby' +# setup authorization +Daily.configure do |config| + # Configure API key authorization: sec0 + config.api_key['sec0'] = 'YOUR API KEY' + # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil) + # config.api_key_prefix['sec0'] = 'Bearer' +end + +api_instance = Daily::PhoneNumbersApi.new +opts = { + areacode: 'areacode_example', # String | An areacode to search within. + region: 'region_example', # String | A region or state to search within. Must be an ISO 3166-2 alpha-2 code, i.e. CA for California. Cannot be used in combination with areacode. + city: 'city_example', # String | A specific City to search within. Example, New York. The string must be url encoded because it is a url parameter. Must be used in combination with region. Cannot be used in combination with areacode, starts_with, contains, or ends_with. + contains: 'contains_example', # String | A string of 3 to 7 digits that should appear somewhere in the number. + starts_with: 'starts_with_example', # String | A string of 3 to 7 digits that should be used as the start of a number. Cannot be used in combination with contains or ends_with. + ends_with: 'ends_with_example' # String | A string of 3 to 7 digits that should be used as the end of a number. Cannot be used in combination with starts_with or contains. +} + +begin + # /list-available-numbers + api_instance.list_available_numbers(opts) +rescue Daily::ApiError => e + puts "Error when calling PhoneNumbersApi->list_available_numbers: #{e}" +end +``` + +#### Using the list_available_numbers_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> list_available_numbers_with_http_info(opts) + +```ruby +begin + # /list-available-numbers + data, status_code, headers = api_instance.list_available_numbers_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Daily::ApiError => e + puts "Error when calling PhoneNumbersApi->list_available_numbers_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **areacode** | **String** | An areacode to search within. | [optional] | +| **region** | **String** | A region or state to search within. Must be an ISO 3166-2 alpha-2 code, i.e. CA for California. Cannot be used in combination with areacode. | [optional] | +| **city** | **String** | A specific City to search within. Example, New York. The string must be url encoded because it is a url parameter. Must be used in combination with region. Cannot be used in combination with areacode, starts_with, contains, or ends_with. | [optional] | +| **contains** | **String** | A string of 3 to 7 digits that should appear somewhere in the number. | [optional] | +| **starts_with** | **String** | A string of 3 to 7 digits that should be used as the start of a number. Cannot be used in combination with contains or ends_with. | [optional] | +| **ends_with** | **String** | A string of 3 to 7 digits that should be used as the end of a number. Cannot be used in combination with starts_with or contains. | [optional] | + +### Return type + +nil (empty response body) + +### Authorization + +[sec0](../README.md#sec0) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## purchased_phone_nunbers + +> purchased_phone_nunbers + +/purchased-phone-numbers + +List the purchased phone numbers for this domain + +### Examples + +```ruby +require 'time' +require 'daily-ruby' +# setup authorization +Daily.configure do |config| + # Configure API key authorization: sec0 + config.api_key['sec0'] = 'YOUR API KEY' + # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil) + # config.api_key_prefix['sec0'] = 'Bearer' +end + +api_instance = Daily::PhoneNumbersApi.new + +begin + # /purchased-phone-numbers + api_instance.purchased_phone_nunbers +rescue Daily::ApiError => e + puts "Error when calling PhoneNumbersApi->purchased_phone_nunbers: #{e}" +end +``` + +#### Using the purchased_phone_nunbers_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> purchased_phone_nunbers_with_http_info + +```ruby +begin + # /purchased-phone-numbers + data, status_code, headers = api_instance.purchased_phone_nunbers_with_http_info + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Daily::ApiError => e + puts "Error when calling PhoneNumbersApi->purchased_phone_nunbers_with_http_info: #{e}" +end +``` + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +nil (empty response body) + +### Authorization + +[sec0](../README.md#sec0) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## release_phone_number + +> Object release_phone_number(id) + +release-phone-number/:id + +Release a purchased number. The number is referenced by its id. A number cannot be deleted within the 14 days of purchase. Calling this API before this period expires results in an error. + +### Examples + +```ruby +require 'time' +require 'daily-ruby' +# setup authorization +Daily.configure do |config| + # Configure API key authorization: sec0 + config.api_key['sec0'] = 'YOUR API KEY' + # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil) + # config.api_key_prefix['sec0'] = 'Bearer' +end + +api_instance = Daily::PhoneNumbersApi.new +id = 'id_example' # String | + +begin + # release-phone-number/:id + result = api_instance.release_phone_number(id) + p result +rescue Daily::ApiError => e + puts "Error when calling PhoneNumbersApi->release_phone_number: #{e}" +end +``` + +#### Using the release_phone_number_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> release_phone_number_with_http_info(id) + +```ruby +begin + # release-phone-number/:id + data, status_code, headers = api_instance.release_phone_number_with_http_info(id) + p status_code # => 2xx + p headers # => { ... } + p data # => Object +rescue Daily::ApiError => e + puts "Error when calling PhoneNumbersApi->release_phone_number_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **String** | | | + +### Return type + +**Object** + +### Authorization + +[sec0](../README.md#sec0) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + diff --git a/docs/PinDialinInner.md b/docs/PinDialinInner.md new file mode 100644 index 0000000..ba7e89a --- /dev/null +++ b/docs/PinDialinInner.md @@ -0,0 +1,22 @@ +# Daily::PinDialinInner + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **phone_number** | **String** | Associate a purchased phone number to the dialin with PIN workflow. | [optional] | +| **name_prefix** | **String** | An identifier or name to associate to the workflow. | [optional] | +| **ivr_greeting** | [**PinDialinInnerIvrGreeting**](PinDialinInnerIvrGreeting.md) | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::PinDialinInner.new( + phone_number: null, + name_prefix: null, + ivr_greeting: null +) +``` + diff --git a/docs/PinDialinInnerIvrGreeting.md b/docs/PinDialinInnerIvrGreeting.md new file mode 100644 index 0000000..deb161c --- /dev/null +++ b/docs/PinDialinInnerIvrGreeting.md @@ -0,0 +1,18 @@ +# Daily::PinDialinInnerIvrGreeting + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **message** | **String** | message to \"Say\" when user call the phone_number. | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::PinDialinInnerIvrGreeting.new( + message: null +) +``` + diff --git a/docs/PinlessCallUpdateRequest.md b/docs/PinlessCallUpdateRequest.md new file mode 100644 index 0000000..261d855 --- /dev/null +++ b/docs/PinlessCallUpdateRequest.md @@ -0,0 +1,22 @@ +# Daily::PinlessCallUpdateRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **call_id** | **String** | CallId is represented by UUID and represents the sessionId in the SIP Network. | [optional] | +| **call_domain** | **String** | Call Domain is represented by UUID and represents your Daily Domain on the SIP Network. | [optional] | +| **sip_uri** | **String** | This SIP URI is associated to the Daily Room that you want to forward the SIP Interconnect call to. | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::PinlessCallUpdateRequest.new( + call_id: null, + call_domain: null, + sip_uri: null +) +``` + diff --git a/docs/PinlessDialinInner.md b/docs/PinlessDialinInner.md new file mode 100644 index 0000000..bf6ff1e --- /dev/null +++ b/docs/PinlessDialinInner.md @@ -0,0 +1,24 @@ +# Daily::PinlessDialinInner + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **phone_number** | **String** | Associate a purchased phone number to the Pinless dialin workflow. | [optional] | +| **room_creation_api** | **String** | The webhook URL to trigger when an incoming call arrives. Typically, you will need to spin-up a Daily meeting room and patch the incoming call to the room. Read more in the [pinless/sip interconnect guide](/guides/products/dial-in-dial-out/dialin-pinless#incoming-call-triggers-the-webhook). | [optional] | +| **name_prefix** | **String** | An identifier or name to associate to the workflow. | [optional] | +| **sip_uri** | **String** | This is not a settable value, Daily returns the `sip_uri` in cases where you want to directly send the call to the SIP URI instead of the phone_number. If you dial in to the `phone_number` or this `sip_uri`, the [webhook will be triggered](/guides/products/dial-in-dial-out/dialin-pinless#incoming-call-triggers-the-webhook). | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::PinlessDialinInner.new( + phone_number: null, + room_creation_api: null, + name_prefix: null, + sip_uri: null +) +``` + diff --git a/docs/PostWebhook.md b/docs/PostWebhook.md index 1409225..648d36c 100644 --- a/docs/PostWebhook.md +++ b/docs/PostWebhook.md @@ -6,7 +6,9 @@ | ---- | ---- | ----------- | ----- | | **url** | **String** | The webhook server endpoint that was provided. | [optional] | | **basic_auth** | **String** | The basic auth credentials that will be used to POST to the webhook URL. | [optional] | +| **retry_type** | **String** | The retry configuration for this webhook endpoint to use. The default is circuit-breaker. | [optional] | | **event_types** | **Array<String>** | The set of event types this webhook is subscribed to. | [optional] | +| **hmac** | **String** | A secret that can be used to verify the signature of the webhook. If not provided, an hmac will be provisioned for you and returned. | [optional] | ## Example @@ -16,7 +18,9 @@ require 'daily-ruby' instance = Daily::PostWebhook.new( url: null, basic_auth: null, - event_types: null + retry_type: null, + event_types: null, + hmac: null ) ``` diff --git a/docs/Properties.md b/docs/Properties.md index 0a8afde..922b7c6 100644 --- a/docs/Properties.md +++ b/docs/Properties.md @@ -11,12 +11,13 @@ | **exp** | **Integer** | \"Expires\". This is a unix timestamp (seconds since the epoch.) Users cannot join a meeting with this token after this time. Daily strongly recommends adding an `exp` value to all meeting tokens. Learn more in our Daily blog post: [Add advanced security to video chats with the Daily API](https://www.daily.co/blog/add-advanced-security-features-to-video-chats-with-the-daily-api/) | [optional] | | **is_owner** | **Boolean** | The user has [meeting owner privileges](https://docs.daily.co/docs/controlling-who-joins-a-meeting#meeting-owner-privileges). For example, if the room is configured for `owner_only_broadcast` and used in a Daily Prebuilt call, this user can send video, and audio, and can screenshare. | [optional][default to false] | | **user_name** | **String** | The user's name in this meeting. The name displays in the user interface when the user is muted or has turned off the camera, and in the chat window. This username is also saved in the meeting events log (meeting events are retrievable using the [analytics](/reference/rest-api/meetings) API methods.) | [optional] | -| **user_id** | **String** | The user's ID for this meeting session. This ID is retrievable using the [meetings](/reference/rest-api/meetings) API. You can use `user_id` to map between your user database and meeting events/attendance. *The ID does not display in our standard in-call UI during the call. _max length 36 chars_ | [optional] | +| **user_id** | **String** | The user's ID for this meeting session. During a session, this ID is retrievable in the [`participants()`](/reference/daily-js/instance-methods/participants) method and [related participant events](/reference/daily-js/events/participant-events). Either during or after a session concludes, this ID is retrievable using the [/meetings](/reference/rest-api/meetings) REST API endpoint. You can use `user_id` to map between your user database and meeting events/attendance. For domains configured for [HIPAA compliance](/guides/privacy-and-security/hipaa), if the `user_id` value is a [UUID](https://www.ietf.org/rfc/rfc4122.txt) (for example, `f81d4fae-7dec-11d0-a765-00a0c91e6bf6`), then the UUID will be returned for the participant in the [`/meetings`](/reference/rest-api/meetings) REST API endpoint. Otherwise, the string `hipaa` will be returned in order to remove potential PHI. During a session, the provided `user_id` will always be returned through the `participants()` method and related events, regardless of the `user_id` value. The `user_id` has a limit of 36 characters. | [optional] | | **enable_screenshare** | **Boolean** | Sets whether or not the user is allowed to screen share. This setting applies for the duration of the meeting. If you're looking to dynamically control whether a user can screen share during a meeting, then use the [`permissions`](/reference/rest-api/meeting-tokens/config#permissions) token property. | [optional][default to true] | | **start_video_off** | **Boolean** | Disable the default behavior of automatically turning on a participant's camera on a direct `join()` (i.e. without `startCamera()` first). | [optional][default to false] | | **start_audio_off** | **Boolean** | Disable the default behavior of automatically turning on a participant's microphone on a direct `join()` (i.e. without `startCamera()` first). | [optional][default to false] | | **enable_recording** | **String** | Jump to [recording docs](/reference/rest-api/recordings). | [optional] | | **enable_prejoin_ui** | **Boolean** | Determines whether the participant using the meeting token enters a waiting room with a camera, mic, and browser check before joining a call. If this property is also set in the room or domain's configuration, the meeting token's configuration will take priority. ⚠️ You must be using [Daily Prebuilt](https://daily.co/prebuilt) to use `enable_prejoin_ui`. | [optional] | +| **enable_live_captions_ui** | **Boolean** | Sets whether the participant sees a closed captions button in their Daily Prebuilt call tray. When the closed caption button is clicked, closed captions are displayed locally. When set to `true`, a closed captions button appears in the call tray. When set to `false`, the closed captions button is hidden from the call tray. Note: Transcription must be enabled for the room or users must have permission to start transcription for this feature to be enabled. View the [transcription guide](/guides/products/transcription) for more details. ⚠️ You must be using [Daily Prebuilt](https://daily.co/blog/daily-prebuilt-video-chat) to use `enable_live_captions_ui`. | [optional] | | **enable_recording_ui** | **Boolean** | Determines whether the participant using the meeting token can see the Recording button in Daily Prebuilt's UI, which can be found in the video call tray. If this value is `false`, the button will not be included in the tray. If it's `true`, the Recording button will be displayed. This option is useful when only specific call participants should have recording permissions. ⚠️ You must be using [Daily Prebuilt](https://daily.co/prebuilt) to use `enable_recording_ui`. | [optional] | | **enable_terse_logging** | **Boolean** | Reduces the volume of log messages. This feature should be enabled when there are more than 200 participants in a meeting to help improve performance. See our [guides for supporting large experiences](/guides/scaling-calls) for additional instruction. | [optional][default to false] | | **start_cloud_recording** | **Boolean** | Start cloud recording when the user joins the room. This can be used to always record and archive meetings, for example in a customer support context. Note: This requires the `enable_recording` property of the room or token to be set to `cloud`. If you want to automatically record calls with other recording modes, use `callObject.startRecording()` after `await callObject.join()` in your code. | [optional][default to false] | @@ -46,6 +47,7 @@ instance = Daily::Properties.new( start_audio_off: null, enable_recording: null, enable_prejoin_ui: null, + enable_live_captions_ui: null, enable_recording_ui: null, enable_terse_logging: null, start_cloud_recording: null, diff --git a/docs/RecordingError.md b/docs/RecordingError.md index 773a903..761c4b6 100644 --- a/docs/RecordingError.md +++ b/docs/RecordingError.md @@ -6,7 +6,7 @@ | ---- | ---- | ----------- | ----- | | **version** | **String** | The semantic version of the current message. | [optional] | | **type** | **String** | The type of event that is being provided. | [optional] | -| **event_ts** | **Integer** | The Unix epoch time in seconds representing when the event was generated. | [optional] | +| **event_ts** | **Float** | The Unix epoch time in seconds representing when the event was generated. | [optional] | | **payload** | [**RecordingErrorPayload**](RecordingErrorPayload.md) | | [optional] | ## Example diff --git a/docs/RecordingReadyToDownload.md b/docs/RecordingReadyToDownload.md index faab6e1..3d28e6d 100644 --- a/docs/RecordingReadyToDownload.md +++ b/docs/RecordingReadyToDownload.md @@ -6,7 +6,7 @@ | ---- | ---- | ----------- | ----- | | **version** | **String** | The semantic version of the current message. | [optional] | | **type** | **String** | The type of event that is being provided. | [optional] | -| **event_ts** | **Integer** | The Unix epoch time in seconds representing when the event was generated. | [optional] | +| **event_ts** | **Float** | The Unix epoch time in seconds representing when the event was generated. | [optional] | | **payload** | [**RecordingReadyToDownloadPayload**](RecordingReadyToDownloadPayload.md) | | [optional] | ## Example diff --git a/docs/RecordingStarted.md b/docs/RecordingStarted.md index 1bf1e33..4a6e1ab 100644 --- a/docs/RecordingStarted.md +++ b/docs/RecordingStarted.md @@ -6,7 +6,7 @@ | ---- | ---- | ----------- | ----- | | **version** | **String** | The semantic version of the current message. | [optional] | | **type** | **String** | The type of event that is being provided. | [optional] | -| **event_ts** | **Integer** | The Unix epoch time in seconds representing when the event was generated. | [optional] | +| **event_ts** | **Float** | The Unix epoch time in seconds representing when the event was generated. | [optional] | | **payload** | [**RecordingStartedPayload**](RecordingStartedPayload.md) | | [optional] | ## Example diff --git a/docs/RoomDialOutSendDTMFRequest.md b/docs/RoomDialOutSendDTMFRequest.md new file mode 100644 index 0000000..2c760c1 --- /dev/null +++ b/docs/RoomDialOutSendDTMFRequest.md @@ -0,0 +1,20 @@ +# Daily::RoomDialOutSendDTMFRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **session_id** | **String** | | [optional] | +| **tones** | **String** | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::RoomDialOutSendDTMFRequest.new( + session_id: null, + tones: null +) +``` + diff --git a/docs/RoomDialOutStopRequest.md b/docs/RoomDialOutStopRequest.md new file mode 100644 index 0000000..5c86db8 --- /dev/null +++ b/docs/RoomDialOutStopRequest.md @@ -0,0 +1,18 @@ +# Daily::RoomDialOutStopRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **session_id** | **String** | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::RoomDialOutStopRequest.new( + session_id: null +) +``` + diff --git a/docs/RoomProperties.md b/docs/RoomProperties.md index 2f7b967..839d732 100644 --- a/docs/RoomProperties.md +++ b/docs/RoomProperties.md @@ -12,6 +12,7 @@ | **enable_emoji_reactions** | **Boolean** | Determines if [Daily Prebuilt](https://www.daily.co/prebuilt) displays the Emoji Reactions UI. When set to `true`, a Reactions button appears in the call tray. This button allows users to select and send a reaction into the call. When set to `false`, the Reactions button is hidden and the feature is disabled. Usage: This feature is a good fit for meetings when a host or presenter would benefit from receiving nonverbal cues from the audience. It's also great to keep meetings fun. ⚠️ This flag only applies to Daily Prebuilt. It has no effect when building custom video applications with the Daily call object. | [optional] | | **enable_hand_raising** | **Boolean** | Sets whether the participants in the room can use [Daily Prebuilt](https://www.daily.co/prebuilt)'s hand raising controls. When set to `true`, an additional button will be available in Daily Prebuilt's UI to toggle a hand raise. ⚠️ This flag only applies to Daily Prebuilt. It has no effect when building custom video applications with the Daily call object. | [optional] | | **enable_prejoin_ui** | **Boolean** | Determines whether participants enter a waiting room with a camera, mic, and browser check before joining a call. ⚠️ You must be using [Daily Prebuilt](https://daily.co/prebuilt) to use `enable_prejoin_ui`. | [optional] | +| **enable_live_captions_ui** | **Boolean** | Sets whether participants in a room see a closed captions button in their Daily Prebuilt call tray. When the closed caption button is clicked, closed captions are displayed locally. When set to `true`, a closed captions button appears in the call tray. When set to `false`, the closed captions button is hidden from the call tray. Note: Transcription must be enabled for the room or users must have permission to start transcription for this feature to be enabled. View the [transcription guide](/guides/products/transcription) for more details. ⚠️ You must be using [Daily Prebuilt](https://daily.co/blog/daily-prebuilt-video-chat) to use `enable_live_captions_ui`. | [optional] | | **enable_network_ui** | **Boolean** | Determines whether the network button, and the network panel it reveals on click, appears in this room. ⚠️ You must be using [Daily Prebuilt](https://daily.co/prebuilt) to use `enable_network_ui`. | [optional] | | **enable_noise_cancellation_ui** | **Boolean** | Determines whether Daily Prebuilt displays noise cancellation controls. When set to `true`, a participant can enable microphone noise cancellation during a Daily Prebuilt call. ⚠️ This flag only applies to [Daily Prebuilt](https://daily.co/prebuilt). It has no effect when building custom video applications with the Daily call object. To learn more about adding noise cancellation to a custom application, see the [`updateInputSettings()` docs](/reference/daily-js/instance-methods/update-input-settings). | [optional] | | **enable_breakout_rooms** | **Boolean** | Sets whether [Daily Prebuilt](https://www.daily.co/prebuilt)’s breakout rooms feature is enabled. When set to `true`, an owner in a Prebuilt call can create breakout rooms to divide participants into smaller, private groups. ⚠️ You must be using [Daily Prebuilt](https://daily.co/blog/daily-prebuilt-video-chat) to use `enable_breakout_rooms`. ⚠️ This property is in beta. | [optional] | @@ -19,6 +20,7 @@ | **enable_screenshare** | **Boolean** | Sets whether users in a room can screen share during a session. This property cannot be changed after a session starts. For dynamic control over permissions, use the [`updateParticipant()`](/reference/daily-js/instance-methods/update-participant#permissions) method to control user permissions. | [optional][default to true] | | **enable_video_processing_ui** | **Boolean** | Determines whether Daily Prebuilt displays background blur controls. When set to `true`, a participant can enable blur during a Daily Prebuilt call. ⚠️ This flag only applies to Daily Prebuilt. It has no effect when building custom video applications with the Daily call object. | [optional][default to true] | | **enable_chat** | **Boolean** | This property is one of [multiple ways to add chat to Daily video calls](https://www.daily.co/blog/three-ways-to-add-chat-to-your-video-calls-with-the-daily-api/). | [optional][default to false] | +| **enable_shared_chat_history** | **Boolean** | When enabled, newly joined participants in Prebuilt calls will request chat history from remote peers, in order to view chat messages from before they joined. | [optional][default to true] | | **start_video_off** | **Boolean** | Disable the default behavior of automatically turning on a participant's camera on a direct `join()` (i.e. without `startCamera()` first). | [optional][default to false] | | **start_audio_off** | **Boolean** | Disable the default behavior of automatically turning on a participant's microphone on a direct `join()` (i.e. without `startCamera()` first). | [optional][default to false] | | **owner_only_broadcast** | **Boolean** | In Daily Prebuilt, only the meeting owners will be able to turn on camera, unmute mic, and share screen. See [setting up calls](https://docs.daily.co/docs/setting-up-calls). | [optional][default to false] | @@ -28,10 +30,13 @@ | **enable_advanced_chat** | **Boolean** | Property that gives end users a richer chat experience. This includes: * Emoji reactions to chat messages * Emoji picker in the chat input form * Ability to send a Giphy chat message ⚠️ This flag only applies to Daily Prebuilt. It has no effect when building custom video applications with the Daily call object. | [optional][default to false] | | **enable_hidden_participants** | **Boolean** | When enabled, non-owner users join a meeting with a hidden presence, meaning they won't appear as a named participant in the meeting and have no [participant events](https://docs.daily.co/reference/daily-js/events/participant-events) associated to them. Additionally, these participants can _only_ receive media tracks from owner participants. Hidden participants can be tracked using the [`participantCounts()`](/reference/daily-js/instance-methods/participant-counts) method. Hidden participants do _not_ have entries in the [`participants()`](/reference/daily-js/instance-methods/participants) method return value. When used with [Daily Prebuilt](/guides/products/prebuilt), hidden participants are included in the participant count available in the UI; however, are _not_ included in the People panel and can only read chat messages. This property should be used to support hosting large meetings. See our [guide on interactive live streaming](/guides/scaling-calls/interactive-live-streaming-rtmp-output#interactive-live-streaming-up-to-100-000-participants) for additional instruction. | [optional][default to false] | | **enable_mesh_sfu** | **Boolean** | Configures a room to use multiple SFUs for a call's media. This feature enables calls to scale to large sizes and to reduce latency between participants. It is recommended specifically for interactive live streaming. See our [guide for interactive live streaming](/guides/scaling-calls/interactive-live-streaming-rtmp-output#daily-prebuilt-configurations-to-support-100-000-participants) for additional instruction. | [optional] | -| **sfu_switchover** | **Float** | Dictates the participant count after which room topology automatically switches from Peer-to-Peer (P2P) to Selective Forwarding Unit (SFU) mode, or vice versa. For example, if `sfu_switchover` is set to `3` and the current network topology is P2P, the topology will switch to SFU mode when the _fourth_ participant joins the call. If the current topology is SFU, it will switch to P2P mode when the participant count decreases from `3` to `2`. We recommend specifying an integer value for this property except for cases where you would like the room to switch to SFU mode as soon as the first participant joins. In this case, set `sfu_switchover` to `0.5`. See our [guide about video call architecture](/guides/architecture-and-monitoring/intro-to-video-arch#the-architecture-of-a-room-p2p-vs-sfu-calls) for additional information. | [optional][default to 2] | +| **sfu_switchover** | **Float** | Dictates the participant count after which room topology automatically switches from Peer-to-Peer (P2P) to Selective Forwarding Unit (SFU) mode, or vice versa. For example, if `sfu_switchover` is set to `2` and the current network topology is P2P, the topology will switch to SFU mode when the _third_ participant joins the call. If the current topology is SFU, it will switch to P2P mode when the participant count decreases from `2` to `1`. We recommend specifying an integer value for this property except for cases where you would like the room to switch to SFU mode as soon as the first participant joins. In this case, set `sfu_switchover` to `0.5`. See our [guide about video call architecture](/guides/architecture-and-monitoring/intro-to-video-arch#the-architecture-of-a-room-p2p-vs-sfu-calls) for additional information. | [optional][default to 0.5] | +| **enable_adaptive_simulcast** | **Boolean** | Configures a domain or room to use [Daily Adaptive Bitrate](/guides/building-additional-features/daily-adaptive-bitrate). When enabled, along with configuring the client to [`allowAdaptiveLayers`](/reference/daily-js/instance-methods/update-send-settings#sendsettings), the Daily client will continually adapt send settings to the current network conditions. `allowAdaptiveLayers` is `true` by default; if you haven't modified that setting, then setting `enable_adaptive_simulcast` to `true` will enable Daily Adaptive Bitrate for 1:1 calls. | [optional][default to true] | +| **enable_multiparty_adaptive_simulcast** | **Boolean** | Configures a domain or room to use [Daily Adaptive Bitrate](/guides/building-additional-features/daily-adaptive-bitrate). When enabled, along with configuring the client to [`allowAdaptiveLayers`](/reference/daily-js/instance-methods/update-send-settings#sendsettings), the Daily client will continually adapt send settings to the current network conditions. `allowAdaptiveLayers` is `true` by default; if you haven't modified that setting, then setting `enable_multiparty_adaptive_simulcast` to `true` will enable Daily Adaptive Bitrate for multi-party calls. To use this feature, `enable_adaptive_simulcast` must also be set to `true`. | [optional][default to false] | +| **enforce_unique_user_ids** | **Boolean** | Configures a domain or room to disallow multiple participants from having the same `user_id`. This feature can be enabled to prevent users from \"sharing\" meeting tokens. When enabled, a participant joining or reconnecting to a meeting will cause existing participants with the same user_id to be ejected. | [optional][default to false] | | **experimental_optimize_large_calls** | **Boolean** | Enables Daily Prebuilt to support group calls of up to 1,000 participants and [owner only broadcast](/reference/rest-api/rooms/config#owner_only_broadcast) calls of up to 100K participants. When set to true, Daily Prebuilt will: - Automatically mute the local user on joining - Update grid view to show a maximum of 12 users in the grid at a time - Allow only 16 users to be unmuted at the same time. When more than 16 users are unmuted, the oldest active speaker will be automatically muted. See our [guide on large real-time calls](/guides/scaling-calls/large-real-time-calls) for additional instruction. ⚠️ This flag only applies to Daily Prebuilt. It has no effect when building custom video applications with the Daily call object. | [optional] | | **lang** | **String** | The default language of the [Daily prebuilt video call UI](/guides/products/prebuilt#daily-prebuilt-ui), for this room. Setting the language at the room level will override any domain-level language settings you have. Read more about [changing prebuilt UI language settings](https://help.daily.co/en/articles/4579930-changing-the-language-setting-of-the-prebuilt-ui). `*` Norwegian `\"no\"` and Russian `\"ru\"` are only available in the new Daily Prebuilt. | [optional][default to 'en'] | -| **meeting_join_hook** | **String** | Sets a URL that will receive a webhook when a user joins a room. Default is NULL. Character limit for webhook URL is 255. More resources: - [Configuring a webhook to send notifications when someone joins your video calls](https://www.daily.co/blog/configure-a-webhook-to-send-notifications-when-someone-joins-your-video-calls/) | [optional] | +| **meeting_join_hook** | **String** | Sets a URL that will receive a webhook when a user joins a room. Default is NULL. Character limit for webhook URL is 255. ⚠️ In place of the `meeting_join_hook`, we recommend setting up a [webhook](/reference/rest-api/webhooks) and listening for the [`participant.joined`](/reference/rest-api/webhooks/events/participant-joined) event. | [optional] | | **geo** | **String** | Daily uses signaling servers to manage all of the participants in a given call session. In an SFU/server mode call, the server will send and receive all audio and video from each participant. In a peer-to-peer call, each participant sends media directly to and from each other peer, but a signaling server still manages call state. Daily runs servers in several different AWS regions to minimize latency for users around the world. The job of 'picking' a call server is handled when the first participant joins a room. The first participant's browser connects to a call server using Amazon's Route 53 DNS resolution, which chooses a server in the region closest to them. This isn't always optimal. For example, if one person joins in London, and then ten more people join from Cape Town, the call will still be hosted out of `eu-west-2` . The majority of the participants will have higher latency to the server than if one of them had joined first and the call was being hosted in `af-south-1`. In cases like this, you may want to configure your domain (or a specific room) to always choose a call server in a specific AWS region. Available regions: - `\"af-south-1\"` (Cape Town) - `\"ap-northeast-2\"` (Seoul) - `\"ap-southeast-1\"` (Singapore) - `\"ap-southeast-2\"` (Sydney) - `\"ap-south-1\"` (Mumbai) - `\"eu-central-1\"` (Frankfurt) - `\"eu-west-2\"` (London) - `\"sa-east-1\"` (São Paulo) - `\"us-east-1\"` (N. Virginia) - `\"us-west-2\"` (Oregon) | [optional][default to 'NULL'] | | **rtmp_geo** | **String** | Used to select the region where an RTMP stream should originate. In cases where RTMP streaming services aren't available in the desired region, we'll attempt to fall back to the default region based on the SFU being used for the meeting. Available regions: - `\"us-west-2\"` (Oregon) - `\"eu-central-1\"` (Frankfurt) - `\"ap-south-1\"` (Mumbai) The default regions are grouped based on the SFU region like so: - RTMP region `\"us-west-2\"` includes SFU regions: `\"us-west-2\"`, `\"us-east-1\"`, `\"sa-east-1\"` - RTMP region `\"eu-central-1\"` includes SFU regions: `\"eu-central-1\"`, `\"eu-west-2\"`, `\"af-south-1\"` - RTMP region `\"ap-south-1\"` includes SFU regions: `\"ap-southeast-1\"`, `\"ap-southeast-2\"`, `\"ap-northeast-2\"`, `\"ap-south-1\"` | [optional][default to 'The closest available region to the SFU region used by the meeting.'] | | **disable_rtmp_geo_fallback** | **Boolean** | Disable the fall back behavior of rtmp_geo. When rtmp_geo is set, we first try to connect to a media server in desired region. If a media server is not available in the desired region, we fall back to default region based on SFU's region. This property disables this automatic fall back. When this property is set, we will trigger a recording/streaming error event when media worker is unavailable. Also, the client should retry recording/streaming. | [optional][default to false] | @@ -58,6 +63,7 @@ instance = Daily::RoomProperties.new( enable_emoji_reactions: null, enable_hand_raising: null, enable_prejoin_ui: null, + enable_live_captions_ui: null, enable_network_ui: null, enable_noise_cancellation_ui: null, enable_breakout_rooms: null, @@ -65,6 +71,7 @@ instance = Daily::RoomProperties.new( enable_screenshare: null, enable_video_processing_ui: null, enable_chat: null, + enable_shared_chat_history: null, start_video_off: null, start_audio_off: null, owner_only_broadcast: null, @@ -75,6 +82,9 @@ instance = Daily::RoomProperties.new( enable_hidden_participants: null, enable_mesh_sfu: null, sfu_switchover: null, + enable_adaptive_simulcast: null, + enable_multiparty_adaptive_simulcast: null, + enforce_unique_user_ids: null, experimental_optimize_large_calls: null, lang: null, meeting_join_hook: null, diff --git a/docs/RoomSipCallTransferRequest.md b/docs/RoomSipCallTransferRequest.md new file mode 100644 index 0000000..aaf6c6f --- /dev/null +++ b/docs/RoomSipCallTransferRequest.md @@ -0,0 +1,20 @@ +# Daily::RoomSipCallTransferRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **session_id** | **String** | | [optional] | +| **to_end_point** | **String** | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::RoomSipCallTransferRequest.new( + session_id: null, + to_end_point: null +) +``` + diff --git a/docs/RoomsApi.md b/docs/RoomsApi.md index c1a9349..0bfd5dd 100644 --- a/docs/RoomsApi.md +++ b/docs/RoomsApi.md @@ -11,12 +11,17 @@ All URIs are relative to *https://api.daily.co/v1* | [**get_room_presence**](RoomsApi.md#get_room_presence) | **GET** /rooms/{room_name}/presence | rooms/:name/presence | | [**get_session_data**](RoomsApi.md#get_session_data) | **GET** /rooms/{room_name}/get-session-data | rooms/:name/get-session-data | | [**list_rooms**](RoomsApi.md#list_rooms) | **GET** /rooms | /rooms | +| [**room_dial_out_send_dtmf**](RoomsApi.md#room_dial_out_send_dtmf) | **POST** /rooms/{room_name}/dialOut/sendDTMF | rooms/:name/dialOut/sendDTMF | +| [**room_dial_out_start**](RoomsApi.md#room_dial_out_start) | **POST** /rooms/{room_name}/dialOut/start | rooms/:name/dialOut/start | +| [**room_dial_out_stop**](RoomsApi.md#room_dial_out_stop) | **POST** /rooms/{room_name}/dialOut/stop | rooms/:name/dialOut/stop | | [**room_livestreaming_start**](RoomsApi.md#room_livestreaming_start) | **POST** /rooms/{room_name}/live-streaming/start | rooms/:name/live-streaming/start | | [**room_livestreaming_stop**](RoomsApi.md#room_livestreaming_stop) | **POST** /rooms/{room_name}/live-streaming/stop | rooms/:name/live-streaming/stop | | [**room_livestreaming_update**](RoomsApi.md#room_livestreaming_update) | **POST** /rooms/{room_name}/live-streaming/update | rooms/:name/live-streaming/update | | [**room_recordings_start**](RoomsApi.md#room_recordings_start) | **POST** /rooms/{room_name}/recordings/start | rooms/:name/recordings/start | | [**room_recordings_stop**](RoomsApi.md#room_recordings_stop) | **POST** /rooms/{room_name}/recordings/stop | rooms/:name/recordings/stop | | [**room_recordings_update**](RoomsApi.md#room_recordings_update) | **POST** /rooms/{room_name}/recordings/update | rooms/:name/recordings/update | +| [**room_sip_call_transfer**](RoomsApi.md#room_sip_call_transfer) | **POST** /rooms/{room_name}/sipCallTransfer | rooms/:name/sipCallTransfer | +| [**room_sip_refer**](RoomsApi.md#room_sip_refer) | **POST** /rooms/{room_name}/sipRefer | rooms/:name/sipRefer | | [**room_transcription_start**](RoomsApi.md#room_transcription_start) | **POST** /rooms/{room_name}/transcription/start | rooms/:name/transcription/start | | [**room_transcription_stop**](RoomsApi.md#room_transcription_stop) | **POST** /rooms/{room_name}/transcription/stop | rooms/:name/transcription/stop | | [**send_app_message**](RoomsApi.md#send_app_message) | **POST** /rooms/{room_name}/send-app-message | rooms/:name/send-app-message | @@ -541,6 +546,228 @@ end - **Accept**: application/json +## room_dial_out_send_dtmf + +> room_dial_out_send_dtmf(room_name, opts) + +rooms/:name/dialOut/sendDTMF + +send DTMF digits on the dialout + +### Examples + +```ruby +require 'time' +require 'daily-ruby' +# setup authorization +Daily.configure do |config| + # Configure API key authorization: sec0 + config.api_key['sec0'] = 'YOUR API KEY' + # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil) + # config.api_key_prefix['sec0'] = 'Bearer' +end + +api_instance = Daily::RoomsApi.new +room_name = 'room_name_example' # String | +opts = { + room_dial_out_send_dtmf_request: Daily::RoomDialOutSendDTMFRequest.new # RoomDialOutSendDTMFRequest | +} + +begin + # rooms/:name/dialOut/sendDTMF + api_instance.room_dial_out_send_dtmf(room_name, opts) +rescue Daily::ApiError => e + puts "Error when calling RoomsApi->room_dial_out_send_dtmf: #{e}" +end +``` + +#### Using the room_dial_out_send_dtmf_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> room_dial_out_send_dtmf_with_http_info(room_name, opts) + +```ruby +begin + # rooms/:name/dialOut/sendDTMF + data, status_code, headers = api_instance.room_dial_out_send_dtmf_with_http_info(room_name, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Daily::ApiError => e + puts "Error when calling RoomsApi->room_dial_out_send_dtmf_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **room_name** | **String** | | | +| **room_dial_out_send_dtmf_request** | [**RoomDialOutSendDTMFRequest**](RoomDialOutSendDTMFRequest.md) | | [optional] | + +### Return type + +nil (empty response body) + +### Authorization + +[sec0](../README.md#sec0) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## room_dial_out_start + +> room_dial_out_start(room_name, opts) + +rooms/:name/dialOut/start + +Start a dial-out in a room + +### Examples + +```ruby +require 'time' +require 'daily-ruby' +# setup authorization +Daily.configure do |config| + # Configure API key authorization: sec0 + config.api_key['sec0'] = 'YOUR API KEY' + # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil) + # config.api_key_prefix['sec0'] = 'Bearer' +end + +api_instance = Daily::RoomsApi.new +room_name = 'room_name_example' # String | +opts = { + dialout_properties: Daily::DialoutProperties.new # DialoutProperties | +} + +begin + # rooms/:name/dialOut/start + api_instance.room_dial_out_start(room_name, opts) +rescue Daily::ApiError => e + puts "Error when calling RoomsApi->room_dial_out_start: #{e}" +end +``` + +#### Using the room_dial_out_start_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> room_dial_out_start_with_http_info(room_name, opts) + +```ruby +begin + # rooms/:name/dialOut/start + data, status_code, headers = api_instance.room_dial_out_start_with_http_info(room_name, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Daily::ApiError => e + puts "Error when calling RoomsApi->room_dial_out_start_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **room_name** | **String** | | | +| **dialout_properties** | [**DialoutProperties**](DialoutProperties.md) | | [optional] | + +### Return type + +nil (empty response body) + +### Authorization + +[sec0](../README.md#sec0) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## room_dial_out_stop + +> room_dial_out_stop(room_name, opts) + +rooms/:name/dialOut/stop + +Stop a dial out in a room + +### Examples + +```ruby +require 'time' +require 'daily-ruby' +# setup authorization +Daily.configure do |config| + # Configure API key authorization: sec0 + config.api_key['sec0'] = 'YOUR API KEY' + # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil) + # config.api_key_prefix['sec0'] = 'Bearer' +end + +api_instance = Daily::RoomsApi.new +room_name = 'room_name_example' # String | +opts = { + room_dial_out_stop_request: Daily::RoomDialOutStopRequest.new # RoomDialOutStopRequest | +} + +begin + # rooms/:name/dialOut/stop + api_instance.room_dial_out_stop(room_name, opts) +rescue Daily::ApiError => e + puts "Error when calling RoomsApi->room_dial_out_stop: #{e}" +end +``` + +#### Using the room_dial_out_stop_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> room_dial_out_stop_with_http_info(room_name, opts) + +```ruby +begin + # rooms/:name/dialOut/stop + data, status_code, headers = api_instance.room_dial_out_stop_with_http_info(room_name, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Daily::ApiError => e + puts "Error when calling RoomsApi->room_dial_out_stop_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **room_name** | **String** | | | +| **room_dial_out_stop_request** | [**RoomDialOutStopRequest**](RoomDialOutStopRequest.md) | | [optional] | + +### Return type + +nil (empty response body) + +### Authorization + +[sec0](../README.md#sec0) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + ## room_livestreaming_start > room_livestreaming_start(room_name, opts) @@ -977,6 +1204,155 @@ nil (empty response body) - **Accept**: application/json +## room_sip_call_transfer + +> room_sip_call_transfer(room_name, opts) + +rooms/:name/sipCallTransfer + +transfer sip/pstn call + +### Examples + +```ruby +require 'time' +require 'daily-ruby' +# setup authorization +Daily.configure do |config| + # Configure API key authorization: sec0 + config.api_key['sec0'] = 'YOUR API KEY' + # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil) + # config.api_key_prefix['sec0'] = 'Bearer' +end + +api_instance = Daily::RoomsApi.new +room_name = 'room_name_example' # String | +opts = { + room_sip_call_transfer_request: Daily::RoomSipCallTransferRequest.new # RoomSipCallTransferRequest | +} + +begin + # rooms/:name/sipCallTransfer + api_instance.room_sip_call_transfer(room_name, opts) +rescue Daily::ApiError => e + puts "Error when calling RoomsApi->room_sip_call_transfer: #{e}" +end +``` + +#### Using the room_sip_call_transfer_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> room_sip_call_transfer_with_http_info(room_name, opts) + +```ruby +begin + # rooms/:name/sipCallTransfer + data, status_code, headers = api_instance.room_sip_call_transfer_with_http_info(room_name, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Daily::ApiError => e + puts "Error when calling RoomsApi->room_sip_call_transfer_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **room_name** | **String** | | | +| **room_sip_call_transfer_request** | [**RoomSipCallTransferRequest**](RoomSipCallTransferRequest.md) | | [optional] | + +### Return type + +nil (empty response body) + +### Authorization + +[sec0](../README.md#sec0) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## room_sip_refer + +> Object room_sip_refer(room_name, opts) + +rooms/:name/sipRefer + +refer a sip call to other sip endpoint + +### Examples + +```ruby +require 'time' +require 'daily-ruby' +# setup authorization +Daily.configure do |config| + # Configure API key authorization: sec0 + config.api_key['sec0'] = 'YOUR API KEY' + # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil) + # config.api_key_prefix['sec0'] = 'Bearer' +end + +api_instance = Daily::RoomsApi.new +room_name = 'room_name_example' # String | +opts = { + room_sip_call_transfer_request: Daily::RoomSipCallTransferRequest.new # RoomSipCallTransferRequest | +} + +begin + # rooms/:name/sipRefer + result = api_instance.room_sip_refer(room_name, opts) + p result +rescue Daily::ApiError => e + puts "Error when calling RoomsApi->room_sip_refer: #{e}" +end +``` + +#### Using the room_sip_refer_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> room_sip_refer_with_http_info(room_name, opts) + +```ruby +begin + # rooms/:name/sipRefer + data, status_code, headers = api_instance.room_sip_refer_with_http_info(room_name, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => Object +rescue Daily::ApiError => e + puts "Error when calling RoomsApi->room_sip_refer_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **room_name** | **String** | | | +| **room_sip_call_transfer_request** | [**RoomSipCallTransferRequest**](RoomSipCallTransferRequest.md) | | [optional] | + +### Return type + +**Object** + +### Authorization + +[sec0](../README.md#sec0) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + ## room_transcription_start > room_transcription_start(room_name, opts) diff --git a/docs/StreamingEnded.md b/docs/StreamingEnded.md index c33e03e..229250e 100644 --- a/docs/StreamingEnded.md +++ b/docs/StreamingEnded.md @@ -6,7 +6,7 @@ | ---- | ---- | ----------- | ----- | | **version** | **String** | The semantic version of the current message. | [optional] | | **type** | **String** | The type of event that is being provided. | [optional] | -| **event_ts** | **Integer** | The Unix epoch time in seconds representing when the event was generated. | [optional] | +| **event_ts** | **Float** | The Unix epoch time in seconds representing when the event was generated. | [optional] | | **payload** | [**StreamingEndedPayload**](StreamingEndedPayload.md) | | [optional] | ## Example diff --git a/docs/StreamingError.md b/docs/StreamingError.md index bd33b0b..dee7a53 100644 --- a/docs/StreamingError.md +++ b/docs/StreamingError.md @@ -6,7 +6,7 @@ | ---- | ---- | ----------- | ----- | | **version** | **String** | The semantic version of the current message. | [optional] | | **type** | **String** | The type of event that is being provided. | [optional] | -| **event_ts** | **Integer** | The Unix epoch time in seconds representing when the event was generated. | [optional] | +| **event_ts** | **Float** | The Unix epoch time in seconds representing when the event was generated. | [optional] | | **payload** | [**StreamingErrorPayload**](StreamingErrorPayload.md) | | [optional] | ## Example diff --git a/docs/StreamingStarted.md b/docs/StreamingStarted.md index 1281fd5..7427e70 100644 --- a/docs/StreamingStarted.md +++ b/docs/StreamingStarted.md @@ -6,7 +6,7 @@ | ---- | ---- | ----------- | ----- | | **version** | **String** | The semantic version of the current message. | [optional] | | **type** | **String** | The type of event that is being provided. | [optional] | -| **event_ts** | **Integer** | The Unix epoch time in seconds representing when the event was generated. | [optional] | +| **event_ts** | **Float** | The Unix epoch time in seconds representing when the event was generated. | [optional] | | **payload** | [**StreamingStartedPayload**](StreamingStartedPayload.md) | | [optional] | ## Example diff --git a/docs/StreamingUpdated.md b/docs/StreamingUpdated.md index ddf78af..e8e78bc 100644 --- a/docs/StreamingUpdated.md +++ b/docs/StreamingUpdated.md @@ -6,7 +6,7 @@ | ---- | ---- | ----------- | ----- | | **version** | **String** | The semantic version of the current message. | [optional] | | **type** | **String** | The type of event that is being provided. | [optional] | -| **event_ts** | **Integer** | The Unix epoch time in seconds representing when the event was generated. | [optional] | +| **event_ts** | **Float** | The Unix epoch time in seconds representing when the event was generated. | [optional] | | **payload** | [**StreamingUpdatedPayload**](StreamingUpdatedPayload.md) | | [optional] | ## Example diff --git a/docs/TranscriptionProperties.md b/docs/TranscriptionProperties.md index eebce06..45c6eb3 100644 --- a/docs/TranscriptionProperties.md +++ b/docs/TranscriptionProperties.md @@ -11,7 +11,8 @@ | **punctuate** | **Boolean** | See Deepgram's documentation for [`punctuate`](https://developers.deepgram.com/docs/punctuation) | [optional] | | **endpointing** | [**TranscriptionPropertiesEndpointing**](TranscriptionPropertiesEndpointing.md) | | [optional] | | **redact** | [**TranscriptionPropertiesRedact**](TranscriptionPropertiesRedact.md) | | [optional] | -| **extra** | **Object** | Specify any Deepgram parameters. See Deepgram's documentation for [available streaming options](https://developers.deepgram.com/docs/features-overview). | [optional] | +| **extra** | **Object** | Specify any Deepgram parameters. See Deepgram's documentation for [available streaming options](https://developers.deepgram.com/docs/features-overview) | [optional] | +| **include_raw_response** | **Boolean** | Whether Deepgram's raw response should be included in all transcription messages | [optional] | ## Example @@ -26,7 +27,8 @@ instance = Daily::TranscriptionProperties.new( punctuate: null, endpointing: null, redact: null, - extra: null + extra: null, + include_raw_response: null ) ``` diff --git a/docs/UpdateWebhook.md b/docs/UpdateWebhook.md index bc54a60..c6d0cfd 100644 --- a/docs/UpdateWebhook.md +++ b/docs/UpdateWebhook.md @@ -6,7 +6,9 @@ | ---- | ---- | ----------- | ----- | | **url** | **String** | The webhook server endpoint that was provided. | [optional] | | **basic_auth** | **String** | The basic auth credentials that will be used to POST to the webhook URL. | [optional] | +| **retry_type** | **String** | The retry configuration for this webhook endpoint to use. The default is circuit-breaker. | [optional] | | **event_types** | **Array<String>** | The set of event types this webhook is subscribed to. | [optional] | +| **hmac** | **String** | A secret that can be used to verify the signature of the webhook. | [optional] | ## Example @@ -16,7 +18,9 @@ require 'daily-ruby' instance = Daily::UpdateWebhook.new( url: null, basic_auth: null, - event_types: null + retry_type: null, + event_types: null, + hmac: null ) ``` diff --git a/docs/WaitingParticipantJoined.md b/docs/WaitingParticipantJoined.md new file mode 100644 index 0000000..2d4e04b --- /dev/null +++ b/docs/WaitingParticipantJoined.md @@ -0,0 +1,24 @@ +# Daily::WaitingParticipantJoined + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **version** | **String** | The semantic version of the current message. | [optional] | +| **type** | **String** | The type of event that is being provided. | [optional] | +| **event_ts** | **Float** | The Unix epoch time in seconds representing when the event was generated. | [optional] | +| **payload** | [**WaitingParticipantJoinedPayload**](WaitingParticipantJoinedPayload.md) | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::WaitingParticipantJoined.new( + version: null, + type: null, + event_ts: null, + payload: null +) +``` + diff --git a/docs/WaitingParticipantJoinedPayload.md b/docs/WaitingParticipantJoinedPayload.md new file mode 100644 index 0000000..cbc76fb --- /dev/null +++ b/docs/WaitingParticipantJoinedPayload.md @@ -0,0 +1,32 @@ +# Daily::WaitingParticipantJoinedPayload + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **joined_at** | **Float** | The Unix epoch time in seconds representing when the waiting participant joined. | [optional] | +| **session_id** | **String** | The user session ID, or participant id. | [optional] | +| **room** | **String** | The name of the room. | [optional] | +| **user_id** | **String** | The ID of the user, set by the meeting token. | [optional] | +| **user_name** | **String** | The name of the user, set by the meeting token. | [optional] | +| **owner** | **Boolean** | A flag determining if this user is considered the owner. | [optional] | +| **will_eject_at** | **Integer** | The Unix epoch time in seconds representing when the participant will be ejected. | [optional] | +| **permissions** | [**ParticipantJoinedPayloadPermissions**](ParticipantJoinedPayloadPermissions.md) | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::WaitingParticipantJoinedPayload.new( + joined_at: null, + session_id: null, + room: null, + user_id: null, + user_name: null, + owner: null, + will_eject_at: null, + permissions: null +) +``` + diff --git a/docs/WaitingParticipantLeft.md b/docs/WaitingParticipantLeft.md new file mode 100644 index 0000000..6cbb139 --- /dev/null +++ b/docs/WaitingParticipantLeft.md @@ -0,0 +1,24 @@ +# Daily::WaitingParticipantLeft + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **version** | **String** | The semantic version of the current message. | [optional] | +| **type** | **String** | The type of event that is being provided. | [optional] | +| **event_ts** | **Float** | The Unix epoch time in seconds representing when the event was generated. | [optional] | +| **payload** | [**WaitingParticipantLeftPayload**](WaitingParticipantLeftPayload.md) | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::WaitingParticipantLeft.new( + version: null, + type: null, + event_ts: null, + payload: null +) +``` + diff --git a/docs/WaitingParticipantLeftPayload.md b/docs/WaitingParticipantLeftPayload.md new file mode 100644 index 0000000..6467e5b --- /dev/null +++ b/docs/WaitingParticipantLeftPayload.md @@ -0,0 +1,34 @@ +# Daily::WaitingParticipantLeftPayload + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **joined_at** | **Float** | The Unix epoch time in seconds representing when the waiting participant joined. | [optional] | +| **duration** | **Float** | The time in seconds representing how long the participant was in the call. | [optional] | +| **session_id** | **String** | The user session ID, or participant id. | [optional] | +| **room** | **String** | The name of the room. | [optional] | +| **user_id** | **String** | The ID of the user, set by the meeting token. | [optional] | +| **user_name** | **String** | The name of the user, set by the meeting token. | [optional] | +| **owner** | **Boolean** | A flag determining if this user is considered the owner. | [optional] | +| **will_eject_at** | **Integer** | The Unix epoch time in seconds representing when the participant will be ejected. | [optional] | +| **permissions** | [**ParticipantJoinedPayloadPermissions**](ParticipantJoinedPayloadPermissions.md) | | [optional] | + +## Example + +```ruby +require 'daily-ruby' + +instance = Daily::WaitingParticipantLeftPayload.new( + joined_at: null, + duration: null, + session_id: null, + room: null, + user_id: null, + user_name: null, + owner: null, + will_eject_at: null, + permissions: null +) +``` + diff --git a/docs/Webhook.md b/docs/Webhook.md index 80d6d3b..adf2a37 100644 --- a/docs/Webhook.md +++ b/docs/Webhook.md @@ -8,13 +8,14 @@ | **url** | **String** | The webhook server endpoint that was provided. | [optional] | | **hmac** | **String** | A secret that can be used to verify the signature of the webhook. | [optional] | | **basic_auth** | **String** | The basic auth credentials that will be used to POST to the webhook URL. | [optional] | +| **retry_type** | **String** | The retry configuration for this webhook endpoint to use. The default is circuit-breaker. | [optional] | | **event_types** | **Array<String>** | The set of event types this webhook is subscribed to. | [optional] | -| **state** | **Float** | The current state of the webhook. FAILED: 0, ACTIVE: 1, STOPPED: 2. | [optional] | +| **state** | **String** | The current state of the webhook. \"FAILED\" | \"INACTIVE\" | [optional] | | **failed_count** | **Float** | The number of consecutive failures this webhook has made. | [optional] | -| **last_moment_pushed** | **Float** | The Unix epoch time in seconds of the last moment an event was pushed to the webhook server. | [optional] | +| **last_moment_pushed** | **String** | The ISO 8601 time of the last moment an event was pushed to the webhook server. | [optional] | | **domain_id** | **String** | The domain ID this webhook is associated with. | [optional] | -| **created_at** | **Float** | The Unix epoch time in seconds of when this webhook was created. | [optional] | -| **updated_at** | **Float** | The Unix epoch time in seconds of when this webhook was last updated. | [optional] | +| **created_at** | **String** | The ISO 8601 time of when this webhook was created. | [optional] | +| **updated_at** | **String** | The ISO 8601 time of when this webhook was last updated. | [optional] | ## Example @@ -26,6 +27,7 @@ instance = Daily::Webhook.new( url: null, hmac: null, basic_auth: null, + retry_type: null, event_types: null, state: null, failed_count: null, diff --git a/example.rb b/example.rb index 2eeaabd..70148df 100644 --- a/example.rb +++ b/example.rb @@ -10,15 +10,20 @@ # config.configure_faraday_connection { |connection| 'YOUR CONNECTION CONFIG PROC' } end + room_api_instance = Daily::RoomsApi.new opts = { room_request: Daily::CreateRoomRequest.new( privacy: 'private', - properties: Daily::RoomProperties.new({ + properties: { exp: (Time.now + (3600 * 2)).to_i, # Delete the room after two hours enable_mesh_sfu: true, - sfu_switchover: 0.5 - }) + sfu_switchover: 0.5, + dialin: { + display_name: 'Phone Caller', + wait_for_meeting_start: true + } + } ) } @@ -59,3 +64,4 @@ p "Room url: " + room.url p "Meeting token: " + meeting_token.token + diff --git a/lib/daily-ruby.rb b/lib/daily-ruby.rb index e76a575..1c36ec2 100644 --- a/lib/daily-ruby.rb +++ b/lib/daily-ruby.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -17,9 +17,22 @@ require 'daily-ruby/configuration' # Models +require 'daily-ruby/models/batch_processor_error' +require 'daily-ruby/models/batch_processor_error_payload' +require 'daily-ruby/models/batch_processor_error_payload_input' +require 'daily-ruby/models/batch_processor_job_finished' +require 'daily-ruby/models/batch_processor_job_finished_payload' +require 'daily-ruby/models/batch_processor_job_finished_payload_input' +require 'daily-ruby/models/batch_processor_job_finished_payload_output' +require 'daily-ruby/models/batch_processor_job_finished_payload_output_concept' +require 'daily-ruby/models/batch_processor_job_finished_payload_output_soap' +require 'daily-ruby/models/batch_processor_job_finished_payload_output_soap_s3_config' +require 'daily-ruby/models/batch_processor_job_finished_payload_output_summary' +require 'daily-ruby/models/batch_processor_job_finished_payload_output_transcription_inner' require 'daily-ruby/models/batch_room_create_request' require 'daily-ruby/models/batch_room_create_request_rooms_inner' require 'daily-ruby/models/batch_room_delete200_response' +require 'daily-ruby/models/buy_phone_number_request' require 'daily-ruby/models/create_meeting_token200_response' require 'daily-ruby/models/create_meeting_token_request' require 'daily-ruby/models/create_room200_response' @@ -28,7 +41,7 @@ require 'daily-ruby/models/daily_live_streaming_options_rtmp_url' require 'daily-ruby/models/daily_streaming_active_participant_layout_config' require 'daily-ruby/models/daily_streaming_custom_layout_config' -require 'daily-ruby/models/daily_streaming_custom_layout_config_composition_params' +require 'daily-ruby/models/daily_streaming_custom_layout_config_composition_params_value' require 'daily-ruby/models/daily_streaming_default_layout_config' require 'daily-ruby/models/daily_streaming_endpoint' require 'daily-ruby/models/daily_streaming_layout_config' @@ -37,6 +50,8 @@ require 'daily-ruby/models/daily_streaming_portrait_layout_variant' require 'daily-ruby/models/daily_streaming_single_participant_layout_config' require 'daily-ruby/models/delete_transcript200_response' +require 'daily-ruby/models/dialout_properties' +require 'daily-ruby/models/dialout_properties_codecs' require 'daily-ruby/models/domain' require 'daily-ruby/models/domain_properties' require 'daily-ruby/models/eject200_response' @@ -63,12 +78,25 @@ require 'daily-ruby/models/list_rooms200_response_data_inner_config' require 'daily-ruby/models/list_transcript200_response' require 'daily-ruby/models/list_transcript200_response_data_inner' +require 'daily-ruby/models/meeting_ended' +require 'daily-ruby/models/meeting_ended_payload' require 'daily-ruby/models/meeting_participants_get_res' require 'daily-ruby/models/meeting_participants_get_res_data_inner' +require 'daily-ruby/models/meeting_started' +require 'daily-ruby/models/meeting_started_payload' require 'daily-ruby/models/meetings_meeting_get_res' +require 'daily-ruby/models/participant_joined' +require 'daily-ruby/models/participant_joined_payload' +require 'daily-ruby/models/participant_joined_payload_permissions' +require 'daily-ruby/models/participant_left' +require 'daily-ruby/models/participant_left_payload' require 'daily-ruby/models/permissions' require 'daily-ruby/models/permissions_can_admin' require 'daily-ruby/models/permissions_can_send' +require 'daily-ruby/models/pin_dialin_inner' +require 'daily-ruby/models/pin_dialin_inner_ivr_greeting' +require 'daily-ruby/models/pinless_call_update_request' +require 'daily-ruby/models/pinless_dialin_inner' require 'daily-ruby/models/post_webhook' require 'daily-ruby/models/properties' require 'daily-ruby/models/recording_error' @@ -79,9 +107,12 @@ require 'daily-ruby/models/recording_started_payload' require 'daily-ruby/models/recording_streaming_options' require 'daily-ruby/models/recordings_bucket' +require 'daily-ruby/models/room_dial_out_send_dtmf_request' +require 'daily-ruby/models/room_dial_out_stop_request' require 'daily-ruby/models/room_properties' require 'daily-ruby/models/room_properties_streaming_endpoints_inner' require 'daily-ruby/models/room_properties_streaming_endpoints_inner_hls_config_variants_inner' +require 'daily-ruby/models/room_sip_call_transfer_request' require 'daily-ruby/models/rooms_room_name_get_res' require 'daily-ruby/models/rooms_room_name_presence_get_res' require 'daily-ruby/models/rooms_room_name_presence_get_res_data_inner' @@ -105,14 +136,20 @@ require 'daily-ruby/models/update_permissions_request_data_value_can_send' require 'daily-ruby/models/update_webhook' require 'daily-ruby/models/validate_meeting_token200_response' +require 'daily-ruby/models/waiting_participant_joined' +require 'daily-ruby/models/waiting_participant_joined_payload' +require 'daily-ruby/models/waiting_participant_left' +require 'daily-ruby/models/waiting_participant_left_payload' require 'daily-ruby/models/webhook' # APIs require 'daily-ruby/api/batch_rooms_api' +require 'daily-ruby/api/dialin_api' require 'daily-ruby/api/domain_api' require 'daily-ruby/api/logs_api' require 'daily-ruby/api/meeting_tokens_api' require 'daily-ruby/api/meetings_api' +require 'daily-ruby/api/phone_numbers_api' require 'daily-ruby/api/presence_api' require 'daily-ruby/api/recordings_api' require 'daily-ruby/api/rooms_api' diff --git a/lib/daily-ruby/api/batch_rooms_api.rb b/lib/daily-ruby/api/batch_rooms_api.rb index c1a9658..8b2b7d4 100644 --- a/lib/daily-ruby/api/batch_rooms_api.rb +++ b/lib/daily-ruby/api/batch_rooms_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -47,7 +47,7 @@ def batch_room_create_with_http_info(opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? @@ -109,7 +109,7 @@ def batch_room_delete_with_http_info(opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} diff --git a/lib/daily-ruby/api/dialin_api.rb b/lib/daily-ruby/api/dialin_api.rb new file mode 100644 index 0000000..1cdd489 --- /dev/null +++ b/lib/daily-ruby/api/dialin_api.rb @@ -0,0 +1,86 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'cgi' + +module Daily + class DialinApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # /dialin/pinlessCallUpdate + # Direct a SIP or PSTN call on hold to a specified SIP URI associated to a Daily Room. + # @param [Hash] opts the optional parameters + # @option opts [PinlessCallUpdateRequest] :pinless_call_update_request + # @return [nil] + def pinless_call_update(opts = {}) + pinless_call_update_with_http_info(opts) + nil + end + + # /dialin/pinlessCallUpdate + # Direct a SIP or PSTN call on hold to a specified SIP URI associated to a Daily Room. + # @param [Hash] opts the optional parameters + # @option opts [PinlessCallUpdateRequest] :pinless_call_update_request + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def pinless_call_update_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DialinApi.pinless_call_update ...' + end + # resource path + local_var_path = '/dialin/pinlessCallUpdate' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'pinless_call_update_request']) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['sec0'] + + new_options = opts.merge( + :operation => :"DialinApi.pinless_call_update", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DialinApi#pinless_call_update\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/daily-ruby/api/domain_api.rb b/lib/daily-ruby/api/domain_api.rb index 3ec70f9..fe7d404 100644 --- a/lib/daily-ruby/api/domain_api.rb +++ b/lib/daily-ruby/api/domain_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -45,7 +45,7 @@ def get_domain_config_with_http_info(opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -104,7 +104,7 @@ def set_domain_config_with_http_info(opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? diff --git a/lib/daily-ruby/api/logs_api.rb b/lib/daily-ruby/api/logs_api.rb index 0a8bbb8..71c861e 100644 --- a/lib/daily-ruby/api/logs_api.rb +++ b/lib/daily-ruby/api/logs_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -58,7 +58,7 @@ def list_api_logs_with_http_info(opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -124,7 +124,7 @@ def list_logs_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LogsApi.list_logs ...' end - allowable_values = ["ERROR", "INFO", "DEBUG"] + allowable_values = ["ERROR", "INFO", "DEBUG", "unknown_default_open_api"] if @api_client.config.client_side_validation && opts[:'log_level'] && !allowable_values.include?(opts[:'log_level']) fail ArgumentError, "invalid value for \"log_level\", must be one of #{allowable_values}" end @@ -147,7 +147,7 @@ def list_logs_with_http_info(opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} diff --git a/lib/daily-ruby/api/meeting_tokens_api.rb b/lib/daily-ruby/api/meeting_tokens_api.rb index 5c41d90..b37fc3d 100644 --- a/lib/daily-ruby/api/meeting_tokens_api.rb +++ b/lib/daily-ruby/api/meeting_tokens_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -47,7 +47,7 @@ def create_meeting_token_with_http_info(opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? @@ -118,7 +118,7 @@ def validate_meeting_token_with_http_info(meeting_token, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} diff --git a/lib/daily-ruby/api/meetings_api.rb b/lib/daily-ruby/api/meetings_api.rb index 101e904..df9ac3b 100644 --- a/lib/daily-ruby/api/meetings_api.rb +++ b/lib/daily-ruby/api/meetings_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -51,7 +51,7 @@ def get_individual_meeting_info_with_http_info(meeting, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -132,7 +132,7 @@ def get_meeting_info_with_http_info(opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -204,7 +204,7 @@ def get_meeting_participants_with_http_info(meeting, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} diff --git a/lib/daily-ruby/api/phone_numbers_api.rb b/lib/daily-ruby/api/phone_numbers_api.rb new file mode 100644 index 0000000..92fc023 --- /dev/null +++ b/lib/daily-ruby/api/phone_numbers_api.rb @@ -0,0 +1,281 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'cgi' + +module Daily + class PhoneNumbersApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # /buy-phone-number + # This will buy a phone number. In the POST request you can either provide the phone number you want to buy, or leave it empty. If the specified `number` is still available, it will be bought or the API will return a failure. Alternatively, if you skipped the `number` field, a random phone number from California (CA) will be bought. + # @param [Hash] opts the optional parameters + # @option opts [BuyPhoneNumberRequest] :buy_phone_number_request + # @return [Object] + def buy_phone_number(opts = {}) + data, _status_code, _headers = buy_phone_number_with_http_info(opts) + data + end + + # /buy-phone-number + # This will buy a phone number. In the POST request you can either provide the phone number you want to buy, or leave it empty. If the specified `number` is still available, it will be bought or the API will return a failure. Alternatively, if you skipped the `number` field, a random phone number from California (CA) will be bought. + # @param [Hash] opts the optional parameters + # @option opts [BuyPhoneNumberRequest] :buy_phone_number_request + # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers + def buy_phone_number_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: PhoneNumbersApi.buy_phone_number ...' + end + # resource path + local_var_path = '/buy-phone-number' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'buy_phone_number_request']) + + # return_type + return_type = opts[:debug_return_type] || 'Object' + + # auth_names + auth_names = opts[:debug_auth_names] || ['sec0'] + + new_options = opts.merge( + :operation => :"PhoneNumbersApi.buy_phone_number", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: PhoneNumbersApi#buy_phone_number\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # /list-available-numbers + # Search for available phone numbers to purchase + # @param [Hash] opts the optional parameters + # @option opts [String] :areacode An areacode to search within. + # @option opts [String] :region A region or state to search within. Must be an ISO 3166-2 alpha-2 code, i.e. CA for California. Cannot be used in combination with areacode. + # @option opts [String] :city A specific City to search within. Example, New York. The string must be url encoded because it is a url parameter. Must be used in combination with region. Cannot be used in combination with areacode, starts_with, contains, or ends_with. + # @option opts [String] :contains A string of 3 to 7 digits that should appear somewhere in the number. + # @option opts [String] :starts_with A string of 3 to 7 digits that should be used as the start of a number. Cannot be used in combination with contains or ends_with. + # @option opts [String] :ends_with A string of 3 to 7 digits that should be used as the end of a number. Cannot be used in combination with starts_with or contains. + # @return [nil] + def list_available_numbers(opts = {}) + list_available_numbers_with_http_info(opts) + nil + end + + # /list-available-numbers + # Search for available phone numbers to purchase + # @param [Hash] opts the optional parameters + # @option opts [String] :areacode An areacode to search within. + # @option opts [String] :region A region or state to search within. Must be an ISO 3166-2 alpha-2 code, i.e. CA for California. Cannot be used in combination with areacode. + # @option opts [String] :city A specific City to search within. Example, New York. The string must be url encoded because it is a url parameter. Must be used in combination with region. Cannot be used in combination with areacode, starts_with, contains, or ends_with. + # @option opts [String] :contains A string of 3 to 7 digits that should appear somewhere in the number. + # @option opts [String] :starts_with A string of 3 to 7 digits that should be used as the start of a number. Cannot be used in combination with contains or ends_with. + # @option opts [String] :ends_with A string of 3 to 7 digits that should be used as the end of a number. Cannot be used in combination with starts_with or contains. + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def list_available_numbers_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: PhoneNumbersApi.list_available_numbers ...' + end + # resource path + local_var_path = '/list-available-numbers' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'areacode'] = opts[:'areacode'] if !opts[:'areacode'].nil? + query_params[:'region'] = opts[:'region'] if !opts[:'region'].nil? + query_params[:'city'] = opts[:'city'] if !opts[:'city'].nil? + query_params[:'contains'] = opts[:'contains'] if !opts[:'contains'].nil? + query_params[:'starts_with'] = opts[:'starts_with'] if !opts[:'starts_with'].nil? + query_params[:'ends_with'] = opts[:'ends_with'] if !opts[:'ends_with'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['sec0'] + + new_options = opts.merge( + :operation => :"PhoneNumbersApi.list_available_numbers", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: PhoneNumbersApi#list_available_numbers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # /purchased-phone-numbers + # List the purchased phone numbers for this domain + # @param [Hash] opts the optional parameters + # @return [nil] + def purchased_phone_nunbers(opts = {}) + purchased_phone_nunbers_with_http_info(opts) + nil + end + + # /purchased-phone-numbers + # List the purchased phone numbers for this domain + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def purchased_phone_nunbers_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: PhoneNumbersApi.purchased_phone_nunbers ...' + end + # resource path + local_var_path = '/purchased-phone-numbers' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['sec0'] + + new_options = opts.merge( + :operation => :"PhoneNumbersApi.purchased_phone_nunbers", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: PhoneNumbersApi#purchased_phone_nunbers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # release-phone-number/:id + # Release a purchased number. The number is referenced by its id. A number cannot be deleted within the 14 days of purchase. Calling this API before this period expires results in an error. + # @param id [String] + # @param [Hash] opts the optional parameters + # @return [Object] + def release_phone_number(id, opts = {}) + data, _status_code, _headers = release_phone_number_with_http_info(id, opts) + data + end + + # release-phone-number/:id + # Release a purchased number. The number is referenced by its id. A number cannot be deleted within the 14 days of purchase. Calling this API before this period expires results in an error. + # @param id [String] + # @param [Hash] opts the optional parameters + # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers + def release_phone_number_with_http_info(id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: PhoneNumbersApi.release_phone_number ...' + end + # verify the required parameter 'id' is set + if @api_client.config.client_side_validation && id.nil? + fail ArgumentError, "Missing the required parameter 'id' when calling PhoneNumbersApi.release_phone_number" + end + # resource path + local_var_path = '/release-phone-number/{id}'.sub('{' + 'id' + '}', CGI.escape(id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'Object' + + # auth_names + auth_names = opts[:debug_auth_names] || ['sec0'] + + new_options = opts.merge( + :operation => :"PhoneNumbersApi.release_phone_number", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: PhoneNumbersApi#release_phone_number\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/daily-ruby/api/presence_api.rb b/lib/daily-ruby/api/presence_api.rb index e0e32dc..db35723 100644 --- a/lib/daily-ruby/api/presence_api.rb +++ b/lib/daily-ruby/api/presence_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -43,7 +43,7 @@ def get_presence_with_http_info(opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} diff --git a/lib/daily-ruby/api/recordings_api.rb b/lib/daily-ruby/api/recordings_api.rb index 767189c..f80250d 100644 --- a/lib/daily-ruby/api/recordings_api.rb +++ b/lib/daily-ruby/api/recordings_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -51,7 +51,7 @@ def delete_recording_with_http_info(recording_id, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -114,7 +114,7 @@ def get_recording_info_with_http_info(recording_id, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -177,7 +177,7 @@ def get_recording_link_with_http_info(recording_id, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -246,7 +246,7 @@ def list_recordings_with_http_info(opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} diff --git a/lib/daily-ruby/api/rooms_api.rb b/lib/daily-ruby/api/rooms_api.rb index a018000..9d37e12 100644 --- a/lib/daily-ruby/api/rooms_api.rb +++ b/lib/daily-ruby/api/rooms_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -47,7 +47,7 @@ def create_room_with_http_info(opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? @@ -115,7 +115,7 @@ def delete_room_with_http_info(room_name, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -180,7 +180,7 @@ def eject_with_http_info(room_name, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? @@ -248,7 +248,7 @@ def get_room_config_with_http_info(room_name, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -320,7 +320,7 @@ def get_room_presence_with_http_info(room_name, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -383,7 +383,7 @@ def get_session_data_with_http_info(room_name, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -449,7 +449,7 @@ def list_rooms_with_http_info(opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -480,6 +480,216 @@ def list_rooms_with_http_info(opts = {}) return data, status_code, headers end + # rooms/:name/dialOut/sendDTMF + # send DTMF digits on the dialout + # @param room_name [String] + # @param [Hash] opts the optional parameters + # @option opts [RoomDialOutSendDTMFRequest] :room_dial_out_send_dtmf_request + # @return [nil] + def room_dial_out_send_dtmf(room_name, opts = {}) + room_dial_out_send_dtmf_with_http_info(room_name, opts) + nil + end + + # rooms/:name/dialOut/sendDTMF + # send DTMF digits on the dialout + # @param room_name [String] + # @param [Hash] opts the optional parameters + # @option opts [RoomDialOutSendDTMFRequest] :room_dial_out_send_dtmf_request + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def room_dial_out_send_dtmf_with_http_info(room_name, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: RoomsApi.room_dial_out_send_dtmf ...' + end + # verify the required parameter 'room_name' is set + if @api_client.config.client_side_validation && room_name.nil? + fail ArgumentError, "Missing the required parameter 'room_name' when calling RoomsApi.room_dial_out_send_dtmf" + end + # resource path + local_var_path = '/rooms/{room_name}/dialOut/sendDTMF'.sub('{' + 'room_name' + '}', CGI.escape(room_name.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'room_dial_out_send_dtmf_request']) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['sec0'] + + new_options = opts.merge( + :operation => :"RoomsApi.room_dial_out_send_dtmf", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: RoomsApi#room_dial_out_send_dtmf\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # rooms/:name/dialOut/start + # Start a dial-out in a room + # @param room_name [String] + # @param [Hash] opts the optional parameters + # @option opts [DialoutProperties] :dialout_properties + # @return [nil] + def room_dial_out_start(room_name, opts = {}) + room_dial_out_start_with_http_info(room_name, opts) + nil + end + + # rooms/:name/dialOut/start + # Start a dial-out in a room + # @param room_name [String] + # @param [Hash] opts the optional parameters + # @option opts [DialoutProperties] :dialout_properties + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def room_dial_out_start_with_http_info(room_name, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: RoomsApi.room_dial_out_start ...' + end + # verify the required parameter 'room_name' is set + if @api_client.config.client_side_validation && room_name.nil? + fail ArgumentError, "Missing the required parameter 'room_name' when calling RoomsApi.room_dial_out_start" + end + # resource path + local_var_path = '/rooms/{room_name}/dialOut/start'.sub('{' + 'room_name' + '}', CGI.escape(room_name.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'dialout_properties']) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['sec0'] + + new_options = opts.merge( + :operation => :"RoomsApi.room_dial_out_start", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: RoomsApi#room_dial_out_start\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # rooms/:name/dialOut/stop + # Stop a dial out in a room + # @param room_name [String] + # @param [Hash] opts the optional parameters + # @option opts [RoomDialOutStopRequest] :room_dial_out_stop_request + # @return [nil] + def room_dial_out_stop(room_name, opts = {}) + room_dial_out_stop_with_http_info(room_name, opts) + nil + end + + # rooms/:name/dialOut/stop + # Stop a dial out in a room + # @param room_name [String] + # @param [Hash] opts the optional parameters + # @option opts [RoomDialOutStopRequest] :room_dial_out_stop_request + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def room_dial_out_stop_with_http_info(room_name, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: RoomsApi.room_dial_out_stop ...' + end + # verify the required parameter 'room_name' is set + if @api_client.config.client_side_validation && room_name.nil? + fail ArgumentError, "Missing the required parameter 'room_name' when calling RoomsApi.room_dial_out_stop" + end + # resource path + local_var_path = '/rooms/{room_name}/dialOut/stop'.sub('{' + 'room_name' + '}', CGI.escape(room_name.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'room_dial_out_stop_request']) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['sec0'] + + new_options = opts.merge( + :operation => :"RoomsApi.room_dial_out_stop", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: RoomsApi#room_dial_out_stop\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # rooms/:name/live-streaming/start # Start a live stream in a room # @param room_name [String] @@ -514,7 +724,7 @@ def room_livestreaming_start_with_http_info(room_name, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? @@ -582,7 +792,7 @@ def room_livestreaming_stop_with_http_info(room_name, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -647,7 +857,7 @@ def room_livestreaming_update_with_http_info(room_name, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? @@ -717,7 +927,7 @@ def room_recordings_start_with_http_info(room_name, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? @@ -785,7 +995,7 @@ def room_recordings_stop_with_http_info(room_name, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -850,7 +1060,7 @@ def room_recordings_update_with_http_info(room_name, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? @@ -886,6 +1096,146 @@ def room_recordings_update_with_http_info(room_name, opts = {}) return data, status_code, headers end + # rooms/:name/sipCallTransfer + # transfer sip/pstn call + # @param room_name [String] + # @param [Hash] opts the optional parameters + # @option opts [RoomSipCallTransferRequest] :room_sip_call_transfer_request + # @return [nil] + def room_sip_call_transfer(room_name, opts = {}) + room_sip_call_transfer_with_http_info(room_name, opts) + nil + end + + # rooms/:name/sipCallTransfer + # transfer sip/pstn call + # @param room_name [String] + # @param [Hash] opts the optional parameters + # @option opts [RoomSipCallTransferRequest] :room_sip_call_transfer_request + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def room_sip_call_transfer_with_http_info(room_name, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: RoomsApi.room_sip_call_transfer ...' + end + # verify the required parameter 'room_name' is set + if @api_client.config.client_side_validation && room_name.nil? + fail ArgumentError, "Missing the required parameter 'room_name' when calling RoomsApi.room_sip_call_transfer" + end + # resource path + local_var_path = '/rooms/{room_name}/sipCallTransfer'.sub('{' + 'room_name' + '}', CGI.escape(room_name.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'room_sip_call_transfer_request']) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['sec0'] + + new_options = opts.merge( + :operation => :"RoomsApi.room_sip_call_transfer", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: RoomsApi#room_sip_call_transfer\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # rooms/:name/sipRefer + # refer a sip call to other sip endpoint + # @param room_name [String] + # @param [Hash] opts the optional parameters + # @option opts [RoomSipCallTransferRequest] :room_sip_call_transfer_request + # @return [Object] + def room_sip_refer(room_name, opts = {}) + data, _status_code, _headers = room_sip_refer_with_http_info(room_name, opts) + data + end + + # rooms/:name/sipRefer + # refer a sip call to other sip endpoint + # @param room_name [String] + # @param [Hash] opts the optional parameters + # @option opts [RoomSipCallTransferRequest] :room_sip_call_transfer_request + # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers + def room_sip_refer_with_http_info(room_name, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: RoomsApi.room_sip_refer ...' + end + # verify the required parameter 'room_name' is set + if @api_client.config.client_side_validation && room_name.nil? + fail ArgumentError, "Missing the required parameter 'room_name' when calling RoomsApi.room_sip_refer" + end + # resource path + local_var_path = '/rooms/{room_name}/sipRefer'.sub('{' + 'room_name' + '}', CGI.escape(room_name.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'room_sip_call_transfer_request']) + + # return_type + return_type = opts[:debug_return_type] || 'Object' + + # auth_names + auth_names = opts[:debug_auth_names] || ['sec0'] + + new_options = opts.merge( + :operation => :"RoomsApi.room_sip_refer", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: RoomsApi#room_sip_refer\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # rooms/:name/transcription/start # Start a transcription in a room # @param room_name [String] @@ -920,7 +1270,7 @@ def room_transcription_start_with_http_info(room_name, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? @@ -988,7 +1338,7 @@ def room_transcription_stop_with_http_info(room_name, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -1053,7 +1403,7 @@ def send_app_message_with_http_info(room_name, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? @@ -1123,7 +1473,7 @@ def set_room_config_with_http_info(room_name, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? @@ -1193,7 +1543,7 @@ def set_session_data_with_http_info(room_name, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? @@ -1263,7 +1613,7 @@ def update_permissions_with_http_info(room_name, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? diff --git a/lib/daily-ruby/api/transcript_api.rb b/lib/daily-ruby/api/transcript_api.rb index 797e9be..5f99b11 100644 --- a/lib/daily-ruby/api/transcript_api.rb +++ b/lib/daily-ruby/api/transcript_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -51,7 +51,7 @@ def delete_transcript_with_http_info(transcript_id, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -114,7 +114,7 @@ def get_transcript_info_with_http_info(transcript_id, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -177,7 +177,7 @@ def get_transcript_link_with_http_info(transcript_id, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -244,12 +244,12 @@ def list_transcript_with_http_info(opts = {}) query_params[:'ending_before'] = opts[:'ending_before'] if !opts[:'ending_before'].nil? query_params[:'starting_after'] = opts[:'starting_after'] if !opts[:'starting_after'].nil? query_params[:'roomId'] = opts[:'room_id'] if !opts[:'room_id'].nil? - query_params[:'mtgSessionID'] = opts[:'mtg_session_id'] if !opts[:'mtg_session_id'].nil? + query_params[:'mtgSessionId'] = opts[:'mtg_session_id'] if !opts[:'mtg_session_id'].nil? # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} diff --git a/lib/daily-ruby/api/webhooks_api.rb b/lib/daily-ruby/api/webhooks_api.rb index 545fbce..5f6fd39 100644 --- a/lib/daily-ruby/api/webhooks_api.rb +++ b/lib/daily-ruby/api/webhooks_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -47,7 +47,7 @@ def create_webhook_with_http_info(opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? @@ -115,7 +115,7 @@ def delete_webhook_with_http_info(id, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -178,7 +178,7 @@ def get_webhook_config_with_http_info(id, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -235,7 +235,7 @@ def get_webhooks_with_http_info(opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} @@ -300,7 +300,7 @@ def update_webhook_config_with_http_info(id, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? diff --git a/lib/daily-ruby/api_client.rb b/lib/daily-ruby/api_client.rb index 1186dca..0b284b4 100644 --- a/lib/daily-ruby/api_client.rb +++ b/lib/daily-ruby/api_client.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -17,6 +17,7 @@ require 'time' require 'faraday' require 'faraday/multipart' if Gem::Version.new(Faraday::VERSION) >= Gem::Version.new('2.0') +require 'marcel' module Daily @@ -140,8 +141,7 @@ def build_request_body(header_params, form_params, body) form_params.each do |key, value| case value when ::File, ::Tempfile - # TODO hardcode to application/octet-stream, need better way to detect content type - data[key] = Faraday::FilePart.new(value.path, 'application/octet-stream', value.path) + data[key] = Faraday::FilePart.new(value.path, Marcel::MimeType.for(Pathname.new(value.path))) when ::Array, nil # let Faraday handle Array and nil parameters data[key] = value @@ -164,35 +164,41 @@ def download_file(request) request.options.on_data = Proc.new do |chunk, overall_received_bytes| stream << chunk end + stream end def deserialize_file(response, stream) - body = response.body - if @config.return_binary_data == true - # return byte stream - encoding = body.encoding - stream.join.force_encoding(encoding) + body = response.body + encoding = body.encoding + + # reconstruct content + content = stream.join + content = content.unpack('m').join if response.headers['Content-Transfer-Encoding'] == 'binary' + content = content.force_encoding(encoding) + + # return byte stream + return content if @config.return_binary_data == true + + # return file instead of binary data + content_disposition = response.headers['Content-Disposition'] + if content_disposition && content_disposition =~ /filename=/i + filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1] + prefix = sanitize_filename(filename) else - # return file instead of binary data - content_disposition = response.headers['Content-Disposition'] - if content_disposition && content_disposition =~ /filename=/i - filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1] - prefix = sanitize_filename(filename) - else - prefix = 'download-' - end - prefix = prefix + '-' unless prefix.end_with?('-') - encoding = body.encoding - tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding) - tempfile.write(stream.join.force_encoding(encoding)) - tempfile.close - config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\ - "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\ - "will be deleted automatically with GC. It's also recommended to delete the temp file "\ - "explicitly with `tempfile.delete`" - tempfile + prefix = 'download-' end + prefix = prefix + '-' unless prefix.end_with?('-') + + tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding) + tempfile.write(content) + tempfile.close + + config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\ + "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\ + "will be deleted automatically with GC. It's also recommended to delete the temp file "\ + "explicitly with `tempfile.delete`" + tempfile end def connection(opts) @@ -249,7 +255,7 @@ def basic_auth(conn) # @param [String] mime MIME # @return [Boolean] True if the MIME is application/json def json_mime?(mime) - (mime == '*/*') || !(mime =~ /Application\/.*json(?!p)(;.*)?/i).nil? + (mime == '*/*') || !(mime =~ /^Application\/.*json(?!p)(;.*)?/i).nil? end # Deserialize the response to the given return type. @@ -328,7 +334,7 @@ def convert_to_type(data, return_type) # @param [String] filename the filename to be sanitized # @return [String] the sanitized filename def sanitize_filename(filename) - filename.gsub(/.*[\/\\]/, '') + filename.split(/[\/\\]/).last end def build_request_url(path, opts = {}) diff --git a/lib/daily-ruby/api_error.rb b/lib/daily-ruby/api_error.rb index db6b0ea..5f1034d 100644 --- a/lib/daily-ruby/api_error.rb +++ b/lib/daily-ruby/api_error.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/configuration.rb b/lib/daily-ruby/configuration.rb index 1971e3b..6683825 100644 --- a/lib/daily-ruby/configuration.rb +++ b/lib/daily-ruby/configuration.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -79,6 +79,14 @@ class Configuration # @return [true, false] attr_accessor :debugging + # Set this to ignore operation servers for the API client. This is useful when you need to + # send requests to a different server than the one specified in the OpenAPI document. + # Will default to the base url defined in the spec but can be overridden by setting + # `scheme`, `host`, `base_path` directly. + # Default to false. + # @return [true, false] + attr_accessor :ignore_operation_servers + # Defines the logger used for debugging. # Default to `Rails.logger` (when in Rails) or logging to STDOUT. # @@ -170,6 +178,7 @@ def initialize @return_binary_data = false @params_encoder = nil @debugging = false + @ignore_operation_servers = false @inject_format = false @force_ending_format = false @logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT) @@ -204,6 +213,7 @@ def base_path=(base_path) # Returns base URL for specified operation based on server settings def base_url(operation = nil) + return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if ignore_operation_servers if operation_server_settings.key?(operation) then index = server_operation_index.fetch(operation, server_index) server_url(index.nil? ? 0 : index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation]) diff --git a/lib/daily-ruby/models/batch_processor_error.rb b/lib/daily-ruby/models/batch_processor_error.rb new file mode 100644 index 0000000..adde1b9 --- /dev/null +++ b/lib/daily-ruby/models/batch_processor_error.rb @@ -0,0 +1,278 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + class BatchProcessorError + # The semantic version of the current message. + attr_accessor :version + + # The type of event that is being provided. + attr_accessor :type + + # The Unix epoch time in seconds representing when the event was generated. + attr_accessor :event_ts + + attr_accessor :payload + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'version' => :'version', + :'type' => :'type', + :'event_ts' => :'event_ts', + :'payload' => :'payload' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'version' => :'String', + :'type' => :'String', + :'event_ts' => :'Float', + :'payload' => :'BatchProcessorErrorPayload' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::BatchProcessorError` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::BatchProcessorError`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'event_ts') + self.event_ts = attributes[:'event_ts'] + end + + if attributes.key?(:'payload') + self.payload = attributes[:'payload'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + type_validator = EnumAttributeValidator.new('String', ["batch-processor.job-finished", "unknown_default_open_api"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["batch-processor.job-finished", "unknown_default_open_api"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + version == o.version && + type == o.type && + event_ts == o.event_ts && + payload == o.payload + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [version, type, event_ts, payload].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/batch_processor_error_payload.rb b/lib/daily-ruby/models/batch_processor_error_payload.rb new file mode 100644 index 0000000..69938c8 --- /dev/null +++ b/lib/daily-ruby/models/batch_processor_error_payload.rb @@ -0,0 +1,289 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # The payload of the object, describing the given event. + class BatchProcessorErrorPayload + # The batch processor job id. + attr_accessor :id + + # The preset given when starting the job. + attr_accessor :preset + + # The status of the job. + attr_accessor :status + + attr_accessor :input + + # A description of the error that occurred. + attr_accessor :error + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'preset' => :'preset', + :'status' => :'status', + :'input' => :'input', + :'error' => :'error' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'preset' => :'String', + :'status' => :'String', + :'input' => :'BatchProcessorErrorPayloadInput', + :'error' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::BatchProcessorErrorPayload` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::BatchProcessorErrorPayload`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'preset') + self.preset = attributes[:'preset'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.key?(:'input') + self.input = attributes[:'input'] + end + + if attributes.key?(:'error') + self.error = attributes[:'error'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + status_validator = EnumAttributeValidator.new('String', ["error", "unknown_default_open_api"]) + return false unless status_validator.valid?(@status) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["error", "unknown_default_open_api"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + preset == o.preset && + status == o.status && + input == o.input && + error == o.error + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, preset, status, input, error].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/batch_processor_error_payload_input.rb b/lib/daily-ruby/models/batch_processor_error_payload_input.rb new file mode 100644 index 0000000..61bbd49 --- /dev/null +++ b/lib/daily-ruby/models/batch_processor_error_payload_input.rb @@ -0,0 +1,280 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # These parameters define what the inputs were for this given batch processor job. + class BatchProcessorErrorPayloadInput + # The source type describing the input of the job. + attr_accessor :source_type + + # If the `sourceType` is `uri` or `transcriptUri`, this field represents the uri to access the content (transcript, video or audio file). + attr_accessor :uri + + # If the `sourceType` is `recordingId`, this field will be present containing the recording ID provided. + attr_accessor :recording_id + + # If the `sourceType` is `uri`, this field represents the BCP-47 language of the transcript. + attr_accessor :language + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'source_type' => :'sourceType', + :'uri' => :'uri', + :'recording_id' => :'recordingId', + :'language' => :'language' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'source_type' => :'String', + :'uri' => :'String', + :'recording_id' => :'String', + :'language' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::BatchProcessorErrorPayloadInput` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::BatchProcessorErrorPayloadInput`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'source_type') + self.source_type = attributes[:'source_type'] + end + + if attributes.key?(:'uri') + self.uri = attributes[:'uri'] + end + + if attributes.key?(:'recording_id') + self.recording_id = attributes[:'recording_id'] + end + + if attributes.key?(:'language') + self.language = attributes[:'language'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + source_type_validator = EnumAttributeValidator.new('String', ["recordingId", "uri", "transcriptUri", "unknown_default_open_api"]) + return false unless source_type_validator.valid?(@source_type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] source_type Object to be assigned + def source_type=(source_type) + validator = EnumAttributeValidator.new('String', ["recordingId", "uri", "transcriptUri", "unknown_default_open_api"]) + unless validator.valid?(source_type) + fail ArgumentError, "invalid value for \"source_type\", must be one of #{validator.allowable_values}." + end + @source_type = source_type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + source_type == o.source_type && + uri == o.uri && + recording_id == o.recording_id && + language == o.language + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [source_type, uri, recording_id, language].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/batch_processor_job_finished.rb b/lib/daily-ruby/models/batch_processor_job_finished.rb new file mode 100644 index 0000000..92d135e --- /dev/null +++ b/lib/daily-ruby/models/batch_processor_job_finished.rb @@ -0,0 +1,278 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + class BatchProcessorJobFinished + # The semantic version of the current message. + attr_accessor :version + + # The type of event that is being provided. + attr_accessor :type + + # The Unix epoch time in seconds representing when the event was generated. + attr_accessor :event_ts + + attr_accessor :payload + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'version' => :'version', + :'type' => :'type', + :'event_ts' => :'event_ts', + :'payload' => :'payload' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'version' => :'String', + :'type' => :'String', + :'event_ts' => :'Float', + :'payload' => :'BatchProcessorJobFinishedPayload' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::BatchProcessorJobFinished` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::BatchProcessorJobFinished`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'event_ts') + self.event_ts = attributes[:'event_ts'] + end + + if attributes.key?(:'payload') + self.payload = attributes[:'payload'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + type_validator = EnumAttributeValidator.new('String', ["batch-processor.job-finished", "unknown_default_open_api"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["batch-processor.job-finished", "unknown_default_open_api"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + version == o.version && + type == o.type && + event_ts == o.event_ts && + payload == o.payload + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [version, type, event_ts, payload].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/batch_processor_job_finished_payload.rb b/lib/daily-ruby/models/batch_processor_job_finished_payload.rb new file mode 100644 index 0000000..005522c --- /dev/null +++ b/lib/daily-ruby/models/batch_processor_job_finished_payload.rb @@ -0,0 +1,288 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # The payload of the object, describing the given event. + class BatchProcessorJobFinishedPayload + # The batch processor job id. + attr_accessor :id + + # The preset given when starting the job. + attr_accessor :preset + + # The status of the job. + attr_accessor :status + + attr_accessor :input + + attr_accessor :output + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'preset' => :'preset', + :'status' => :'status', + :'input' => :'input', + :'output' => :'output' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'preset' => :'String', + :'status' => :'String', + :'input' => :'BatchProcessorJobFinishedPayloadInput', + :'output' => :'BatchProcessorJobFinishedPayloadOutput' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::BatchProcessorJobFinishedPayload` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::BatchProcessorJobFinishedPayload`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'preset') + self.preset = attributes[:'preset'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.key?(:'input') + self.input = attributes[:'input'] + end + + if attributes.key?(:'output') + self.output = attributes[:'output'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + status_validator = EnumAttributeValidator.new('String', ["finished", "unknown_default_open_api"]) + return false unless status_validator.valid?(@status) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["finished", "unknown_default_open_api"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + preset == o.preset && + status == o.status && + input == o.input && + output == o.output + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, preset, status, input, output].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/batch_processor_job_finished_payload_input.rb b/lib/daily-ruby/models/batch_processor_job_finished_payload_input.rb new file mode 100644 index 0000000..f64b1ad --- /dev/null +++ b/lib/daily-ruby/models/batch_processor_job_finished_payload_input.rb @@ -0,0 +1,280 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # These parameters define what the inputs were for this given batch processor job. + class BatchProcessorJobFinishedPayloadInput + # The source type describing the input of the job. + attr_accessor :source_type + + # If `uri` or `transcriptUri` `sourceType`, this field represents the uri to access the content (transcript, video or audio file). + attr_accessor :uri + + # If `recordingId` `sourceType`, this field represents the id of the recording. + attr_accessor :recording_id + + # If `uri` `sourceType`, this field represents the BCP-47 language of the transcript. + attr_accessor :language + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'source_type' => :'sourceType', + :'uri' => :'uri', + :'recording_id' => :'recordingId', + :'language' => :'language' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'source_type' => :'String', + :'uri' => :'String', + :'recording_id' => :'String', + :'language' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::BatchProcessorJobFinishedPayloadInput` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::BatchProcessorJobFinishedPayloadInput`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'source_type') + self.source_type = attributes[:'source_type'] + end + + if attributes.key?(:'uri') + self.uri = attributes[:'uri'] + end + + if attributes.key?(:'recording_id') + self.recording_id = attributes[:'recording_id'] + end + + if attributes.key?(:'language') + self.language = attributes[:'language'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + source_type_validator = EnumAttributeValidator.new('String', ["recordingId", "uri", "transcriptUri", "unknown_default_open_api"]) + return false unless source_type_validator.valid?(@source_type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] source_type Object to be assigned + def source_type=(source_type) + validator = EnumAttributeValidator.new('String', ["recordingId", "uri", "transcriptUri", "unknown_default_open_api"]) + unless validator.valid?(source_type) + fail ArgumentError, "invalid value for \"source_type\", must be one of #{validator.allowable_values}." + end + @source_type = source_type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + source_type == o.source_type && + uri == o.uri && + recording_id == o.recording_id && + language == o.language + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [source_type, uri, recording_id, language].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/batch_processor_job_finished_payload_output.rb b/lib/daily-ruby/models/batch_processor_job_finished_payload_output.rb new file mode 100644 index 0000000..a6d352d --- /dev/null +++ b/lib/daily-ruby/models/batch_processor_job_finished_payload_output.rb @@ -0,0 +1,245 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # These parameters define the output of the batch processor job. + class BatchProcessorJobFinishedPayloadOutput + attr_accessor :soap + + attr_accessor :concept + + attr_accessor :summary + + # If this job generated transcriptions output, this field will be defined. + attr_accessor :transcription + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'soap' => :'soap', + :'concept' => :'concept', + :'summary' => :'summary', + :'transcription' => :'transcription' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'soap' => :'BatchProcessorJobFinishedPayloadOutputSoap', + :'concept' => :'BatchProcessorJobFinishedPayloadOutputConcept', + :'summary' => :'BatchProcessorJobFinishedPayloadOutputSummary', + :'transcription' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::BatchProcessorJobFinishedPayloadOutput` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::BatchProcessorJobFinishedPayloadOutput`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'soap') + self.soap = attributes[:'soap'] + end + + if attributes.key?(:'concept') + self.concept = attributes[:'concept'] + end + + if attributes.key?(:'summary') + self.summary = attributes[:'summary'] + end + + if attributes.key?(:'transcription') + if (value = attributes[:'transcription']).is_a?(Array) + self.transcription = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + soap == o.soap && + concept == o.concept && + summary == o.summary && + transcription == o.transcription + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [soap, concept, summary, transcription].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/batch_processor_job_finished_payload_output_concept.rb b/lib/daily-ruby/models/batch_processor_job_finished_payload_output_concept.rb new file mode 100644 index 0000000..efd1ec4 --- /dev/null +++ b/lib/daily-ruby/models/batch_processor_job_finished_payload_output_concept.rb @@ -0,0 +1,259 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # If this job generated concepts output, this field will be defined. + class BatchProcessorJobFinishedPayloadOutputConcept + # The filetype of these concepts. + attr_accessor :format + + attr_accessor :s3_config + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'format' => :'format', + :'s3_config' => :'s3Config' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'format' => :'String', + :'s3_config' => :'BatchProcessorJobFinishedPayloadOutputSoapS3Config' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::BatchProcessorJobFinishedPayloadOutputConcept` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::BatchProcessorJobFinishedPayloadOutputConcept`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'format') + self.format = attributes[:'format'] + end + + if attributes.key?(:'s3_config') + self.s3_config = attributes[:'s3_config'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + format_validator = EnumAttributeValidator.new('String', ["JSON", "unknown_default_open_api"]) + return false unless format_validator.valid?(@format) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] format Object to be assigned + def format=(format) + validator = EnumAttributeValidator.new('String', ["JSON", "unknown_default_open_api"]) + unless validator.valid?(format) + fail ArgumentError, "invalid value for \"format\", must be one of #{validator.allowable_values}." + end + @format = format + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + format == o.format && + s3_config == o.s3_config + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [format, s3_config].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/batch_processor_job_finished_payload_output_soap.rb b/lib/daily-ruby/models/batch_processor_job_finished_payload_output_soap.rb new file mode 100644 index 0000000..5841da3 --- /dev/null +++ b/lib/daily-ruby/models/batch_processor_job_finished_payload_output_soap.rb @@ -0,0 +1,259 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # If this job generated a SOAP output, this field will be defined. + class BatchProcessorJobFinishedPayloadOutputSoap + # The filetype of this SOAP note. + attr_accessor :format + + attr_accessor :s3_config + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'format' => :'format', + :'s3_config' => :'s3Config' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'format' => :'String', + :'s3_config' => :'BatchProcessorJobFinishedPayloadOutputSoapS3Config' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::BatchProcessorJobFinishedPayloadOutputSoap` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::BatchProcessorJobFinishedPayloadOutputSoap`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'format') + self.format = attributes[:'format'] + end + + if attributes.key?(:'s3_config') + self.s3_config = attributes[:'s3_config'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + format_validator = EnumAttributeValidator.new('String', ["JSON", "unknown_default_open_api"]) + return false unless format_validator.valid?(@format) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] format Object to be assigned + def format=(format) + validator = EnumAttributeValidator.new('String', ["JSON", "unknown_default_open_api"]) + unless validator.valid?(format) + fail ArgumentError, "invalid value for \"format\", must be one of #{validator.allowable_values}." + end + @format = format + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + format == o.format && + s3_config == o.s3_config + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [format, s3_config].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/batch_processor_job_finished_payload_output_soap_s3_config.rb b/lib/daily-ruby/models/batch_processor_job_finished_payload_output_soap_s3_config.rb new file mode 100644 index 0000000..213f928 --- /dev/null +++ b/lib/daily-ruby/models/batch_processor_job_finished_payload_output_soap_s3_config.rb @@ -0,0 +1,236 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # The S3 bucket configuration for this file. + class BatchProcessorJobFinishedPayloadOutputSoapS3Config + # The s3 bucket containing this file. + attr_accessor :bucket + + # The s3 object location of this file. + attr_accessor :key + + # The s3 bucket region. + attr_accessor :region + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'bucket' => :'bucket', + :'key' => :'key', + :'region' => :'region' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'bucket' => :'String', + :'key' => :'String', + :'region' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::BatchProcessorJobFinishedPayloadOutputSoapS3Config` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::BatchProcessorJobFinishedPayloadOutputSoapS3Config`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'bucket') + self.bucket = attributes[:'bucket'] + end + + if attributes.key?(:'key') + self.key = attributes[:'key'] + end + + if attributes.key?(:'region') + self.region = attributes[:'region'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + bucket == o.bucket && + key == o.key && + region == o.region + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [bucket, key, region].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/batch_processor_job_finished_payload_output_summary.rb b/lib/daily-ruby/models/batch_processor_job_finished_payload_output_summary.rb new file mode 100644 index 0000000..468dce2 --- /dev/null +++ b/lib/daily-ruby/models/batch_processor_job_finished_payload_output_summary.rb @@ -0,0 +1,259 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # If this job generated summary output, this field will be defined. + class BatchProcessorJobFinishedPayloadOutputSummary + # The filetype of this summary. + attr_accessor :format + + attr_accessor :s3_config + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'format' => :'format', + :'s3_config' => :'s3Config' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'format' => :'String', + :'s3_config' => :'BatchProcessorJobFinishedPayloadOutputSoapS3Config' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::BatchProcessorJobFinishedPayloadOutputSummary` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::BatchProcessorJobFinishedPayloadOutputSummary`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'format') + self.format = attributes[:'format'] + end + + if attributes.key?(:'s3_config') + self.s3_config = attributes[:'s3_config'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + format_validator = EnumAttributeValidator.new('String', ["txt", "unknown_default_open_api"]) + return false unless format_validator.valid?(@format) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] format Object to be assigned + def format=(format) + validator = EnumAttributeValidator.new('String', ["txt", "unknown_default_open_api"]) + unless validator.valid?(format) + fail ArgumentError, "invalid value for \"format\", must be one of #{validator.allowable_values}." + end + @format = format + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + format == o.format && + s3_config == o.s3_config + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [format, s3_config].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/batch_processor_job_finished_payload_output_transcription_inner.rb b/lib/daily-ruby/models/batch_processor_job_finished_payload_output_transcription_inner.rb new file mode 100644 index 0000000..ccd1ecf --- /dev/null +++ b/lib/daily-ruby/models/batch_processor_job_finished_payload_output_transcription_inner.rb @@ -0,0 +1,258 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + class BatchProcessorJobFinishedPayloadOutputTranscriptionInner + # The filetype of this transcription. + attr_accessor :format + + attr_accessor :s3_config + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'format' => :'format', + :'s3_config' => :'s3Config' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'format' => :'String', + :'s3_config' => :'BatchProcessorJobFinishedPayloadOutputSoapS3Config' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::BatchProcessorJobFinishedPayloadOutputTranscriptionInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::BatchProcessorJobFinishedPayloadOutputTranscriptionInner`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'format') + self.format = attributes[:'format'] + end + + if attributes.key?(:'s3_config') + self.s3_config = attributes[:'s3_config'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + format_validator = EnumAttributeValidator.new('String', ["txt", "unknown_default_open_api"]) + return false unless format_validator.valid?(@format) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] format Object to be assigned + def format=(format) + validator = EnumAttributeValidator.new('String', ["txt", "unknown_default_open_api"]) + unless validator.valid?(format) + fail ArgumentError, "invalid value for \"format\", must be one of #{validator.allowable_values}." + end + @format = format + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + format == o.format && + s3_config == o.s3_config + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [format, s3_config].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/batch_room_create_request.rb b/lib/daily-ruby/models/batch_room_create_request.rb index 03eca1b..159a148 100644 --- a/lib/daily-ruby/models/batch_room_create_request.rb +++ b/lib/daily-ruby/models/batch_room_create_request.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/batch_room_create_request_rooms_inner.rb b/lib/daily-ruby/models/batch_room_create_request_rooms_inner.rb index edd2b29..75e70bf 100644 --- a/lib/daily-ruby/models/batch_room_create_request_rooms_inner.rb +++ b/lib/daily-ruby/models/batch_room_create_request_rooms_inner.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/batch_room_delete200_response.rb b/lib/daily-ruby/models/batch_room_delete200_response.rb index c9e5c39..7a7ca1a 100644 --- a/lib/daily-ruby/models/batch_room_delete200_response.rb +++ b/lib/daily-ruby/models/batch_room_delete200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/buy_phone_number_request.rb b/lib/daily-ruby/models/buy_phone_number_request.rb new file mode 100644 index 0000000..48c6e45 --- /dev/null +++ b/lib/daily-ruby/models/buy_phone_number_request.rb @@ -0,0 +1,215 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + class BuyPhoneNumberRequest + # The phone number to purchase + attr_accessor :number + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'number' => :'number' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'number' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::BuyPhoneNumberRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::BuyPhoneNumberRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'number') + self.number = attributes[:'number'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + number == o.number + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [number].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/create_meeting_token200_response.rb b/lib/daily-ruby/models/create_meeting_token200_response.rb index b3a4ea9..385e7d3 100644 --- a/lib/daily-ruby/models/create_meeting_token200_response.rb +++ b/lib/daily-ruby/models/create_meeting_token200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/create_meeting_token_request.rb b/lib/daily-ruby/models/create_meeting_token_request.rb index a900848..483eea4 100644 --- a/lib/daily-ruby/models/create_meeting_token_request.rb +++ b/lib/daily-ruby/models/create_meeting_token_request.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/create_room200_response.rb b/lib/daily-ruby/models/create_room200_response.rb index c652523..5f679bb 100644 --- a/lib/daily-ruby/models/create_room200_response.rb +++ b/lib/daily-ruby/models/create_room200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/create_room_request.rb b/lib/daily-ruby/models/create_room_request.rb index b057ca6..664e1fb 100644 --- a/lib/daily-ruby/models/create_room_request.rb +++ b/lib/daily-ruby/models/create_room_request.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/daily_live_streaming_options.rb b/lib/daily-ruby/models/daily_live_streaming_options.rb index b3fd282..4a1b5d5 100644 --- a/lib/daily-ruby/models/daily_live_streaming_options.rb +++ b/lib/daily-ruby/models/daily_live_streaming_options.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/daily_live_streaming_options_rtmp_url.rb b/lib/daily-ruby/models/daily_live_streaming_options_rtmp_url.rb index ba74162..324a3fb 100644 --- a/lib/daily-ruby/models/daily_live_streaming_options_rtmp_url.rb +++ b/lib/daily-ruby/models/daily_live_streaming_options_rtmp_url.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/daily_streaming_active_participant_layout_config.rb b/lib/daily-ruby/models/daily_streaming_active_participant_layout_config.rb index cfe2c2b..135f801 100644 --- a/lib/daily-ruby/models/daily_streaming_active_participant_layout_config.rb +++ b/lib/daily-ruby/models/daily_streaming_active_participant_layout_config.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -103,7 +103,7 @@ def list_invalid_properties def valid? warn '[DEPRECATED] the `valid?` method is obsolete' return false if @preset.nil? - preset_validator = EnumAttributeValidator.new('String', ["active-participant"]) + preset_validator = EnumAttributeValidator.new('String', ["active-participant", "unknown_default_open_api"]) return false unless preset_validator.valid?(@preset) true end @@ -111,7 +111,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] preset Object to be assigned def preset=(preset) - validator = EnumAttributeValidator.new('String', ["active-participant"]) + validator = EnumAttributeValidator.new('String', ["active-participant", "unknown_default_open_api"]) unless validator.valid?(preset) fail ArgumentError, "invalid value for \"preset\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/daily_streaming_custom_layout_config.rb b/lib/daily-ruby/models/daily_streaming_custom_layout_config.rb index 777dd2a..6ae78b0 100644 --- a/lib/daily-ruby/models/daily_streaming_custom_layout_config.rb +++ b/lib/daily-ruby/models/daily_streaming_custom_layout_config.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -65,7 +65,7 @@ def self.openapi_types { :'preset' => :'String', :'composition_id' => :'String', - :'composition_params' => :'Hash', + :'composition_params' => :'Hash', :'session_assets' => :'Hash' } end @@ -137,7 +137,7 @@ def list_invalid_properties def valid? warn '[DEPRECATED] the `valid?` method is obsolete' return false if @preset.nil? - preset_validator = EnumAttributeValidator.new('String', ["custom"]) + preset_validator = EnumAttributeValidator.new('String', ["custom", "unknown_default_open_api"]) return false unless preset_validator.valid?(@preset) return false if @composition_id.nil? true @@ -146,7 +146,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] preset Object to be assigned def preset=(preset) - validator = EnumAttributeValidator.new('String', ["custom"]) + validator = EnumAttributeValidator.new('String', ["custom", "unknown_default_open_api"]) unless validator.valid?(preset) fail ArgumentError, "invalid value for \"preset\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/daily_streaming_custom_layout_config_composition_params.rb b/lib/daily-ruby/models/daily_streaming_custom_layout_config_composition_params.rb index 684c2d4..3ef10bd 100644 --- a/lib/daily-ruby/models/daily_streaming_custom_layout_config_composition_params.rb +++ b/lib/daily-ruby/models/daily_streaming_custom_layout_config_composition_params.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.5.0 =end diff --git a/lib/daily-ruby/models/daily_streaming_custom_layout_config_composition_params_value.rb b/lib/daily-ruby/models/daily_streaming_custom_layout_config_composition_params_value.rb new file mode 100644 index 0000000..e8bda93 --- /dev/null +++ b/lib/daily-ruby/models/daily_streaming_custom_layout_config_composition_params_value.rb @@ -0,0 +1,105 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + module DailyStreamingCustomLayoutConfigCompositionParamsValue + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'Boolean', + :'Float', + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + typed_data = find_and_cast_into_type(klass, data) + return typed_data if typed_data + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.parse(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Daily.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/daily-ruby/models/daily_streaming_default_layout_config.rb b/lib/daily-ruby/models/daily_streaming_default_layout_config.rb index 728bbd0..3031b9f 100644 --- a/lib/daily-ruby/models/daily_streaming_default_layout_config.rb +++ b/lib/daily-ruby/models/daily_streaming_default_layout_config.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -111,7 +111,7 @@ def list_invalid_properties def valid? warn '[DEPRECATED] the `valid?` method is obsolete' return false if @preset.nil? - preset_validator = EnumAttributeValidator.new('String', ["default"]) + preset_validator = EnumAttributeValidator.new('String', ["default", "unknown_default_open_api"]) return false unless preset_validator.valid?(@preset) true end @@ -119,7 +119,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] preset Object to be assigned def preset=(preset) - validator = EnumAttributeValidator.new('String', ["default"]) + validator = EnumAttributeValidator.new('String', ["default", "unknown_default_open_api"]) unless validator.valid?(preset) fail ArgumentError, "invalid value for \"preset\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/daily_streaming_endpoint.rb b/lib/daily-ruby/models/daily_streaming_endpoint.rb index ab1b47d..029932c 100644 --- a/lib/daily-ruby/models/daily_streaming_endpoint.rb +++ b/lib/daily-ruby/models/daily_streaming_endpoint.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/daily_streaming_layout_config.rb b/lib/daily-ruby/models/daily_streaming_layout_config.rb index 9b5edde..95bef73 100644 --- a/lib/daily-ruby/models/daily_streaming_layout_config.rb +++ b/lib/daily-ruby/models/daily_streaming_layout_config.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/daily_streaming_options.rb b/lib/daily-ruby/models/daily_streaming_options.rb index acd2259..ab31128 100644 --- a/lib/daily-ruby/models/daily_streaming_options.rb +++ b/lib/daily-ruby/models/daily_streaming_options.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/daily_streaming_portrait_layout_config.rb b/lib/daily-ruby/models/daily_streaming_portrait_layout_config.rb index e713323..751ac14 100644 --- a/lib/daily-ruby/models/daily_streaming_portrait_layout_config.rb +++ b/lib/daily-ruby/models/daily_streaming_portrait_layout_config.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -119,7 +119,7 @@ def list_invalid_properties def valid? warn '[DEPRECATED] the `valid?` method is obsolete' return false if @preset.nil? - preset_validator = EnumAttributeValidator.new('String', ["portrait"]) + preset_validator = EnumAttributeValidator.new('String', ["portrait", "unknown_default_open_api"]) return false unless preset_validator.valid?(@preset) true end @@ -127,7 +127,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] preset Object to be assigned def preset=(preset) - validator = EnumAttributeValidator.new('String', ["portrait"]) + validator = EnumAttributeValidator.new('String', ["portrait", "unknown_default_open_api"]) unless validator.valid?(preset) fail ArgumentError, "invalid value for \"preset\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/daily_streaming_portrait_layout_variant.rb b/lib/daily-ruby/models/daily_streaming_portrait_layout_variant.rb index 73175fa..deffb1a 100644 --- a/lib/daily-ruby/models/daily_streaming_portrait_layout_variant.rb +++ b/lib/daily-ruby/models/daily_streaming_portrait_layout_variant.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -17,9 +17,10 @@ module Daily class DailyStreamingPortraitLayoutVariant VERTICAL = "vertical".freeze INSET = "inset".freeze + UNKNOWN_DEFAULT_OPEN_API = "unknown_default_open_api".freeze def self.all_vars - @all_vars ||= [VERTICAL, INSET].freeze + @all_vars ||= [VERTICAL, INSET, UNKNOWN_DEFAULT_OPEN_API].freeze end # Builds the enum from string diff --git a/lib/daily-ruby/models/daily_streaming_single_participant_layout_config.rb b/lib/daily-ruby/models/daily_streaming_single_participant_layout_config.rb index 4c23d3f..0acee10 100644 --- a/lib/daily-ruby/models/daily_streaming_single_participant_layout_config.rb +++ b/lib/daily-ruby/models/daily_streaming_single_participant_layout_config.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -117,7 +117,7 @@ def list_invalid_properties def valid? warn '[DEPRECATED] the `valid?` method is obsolete' return false if @preset.nil? - preset_validator = EnumAttributeValidator.new('String', ["single-participant"]) + preset_validator = EnumAttributeValidator.new('String', ["single-participant", "unknown_default_open_api"]) return false unless preset_validator.valid?(@preset) return false if @session_id.nil? true @@ -126,7 +126,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] preset Object to be assigned def preset=(preset) - validator = EnumAttributeValidator.new('String', ["single-participant"]) + validator = EnumAttributeValidator.new('String', ["single-participant", "unknown_default_open_api"]) unless validator.valid?(preset) fail ArgumentError, "invalid value for \"preset\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/delete_transcript200_response.rb b/lib/daily-ruby/models/delete_transcript200_response.rb index 800daed..8465a68 100644 --- a/lib/daily-ruby/models/delete_transcript200_response.rb +++ b/lib/daily-ruby/models/delete_transcript200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -149,7 +149,7 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - status_validator = EnumAttributeValidator.new('String', ["t_finished", "t_in-progress", "t_error"]) + status_validator = EnumAttributeValidator.new('String', ["t_finished", "t_in_progress", "t_error", "unknown_default_open_api"]) return false unless status_validator.valid?(@status) true end @@ -157,7 +157,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] status Object to be assigned def status=(status) - validator = EnumAttributeValidator.new('String', ["t_finished", "t_in-progress", "t_error"]) + validator = EnumAttributeValidator.new('String', ["t_finished", "t_in_progress", "t_error", "unknown_default_open_api"]) unless validator.valid?(status) fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/dialout_properties.rb b/lib/daily-ruby/models/dialout_properties.rb new file mode 100644 index 0000000..9a24a99 --- /dev/null +++ b/lib/daily-ruby/models/dialout_properties.rb @@ -0,0 +1,254 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + class DialoutProperties + # sipUri to call. uri should start with `sip:`. + attr_accessor :sip_uri + + # phone number to call. number must start with country code e.g `+1` + attr_accessor :phone_number + + # The sipUri or The phone participant is shown with this name in the web UI. + attr_accessor :display_name + + # Enable SIP video in the room, only availble for sipUri. + attr_accessor :video + + attr_accessor :codecs + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'sip_uri' => :'sipUri', + :'phone_number' => :'phoneNumber', + :'display_name' => :'displayName', + :'video' => :'video', + :'codecs' => :'codecs' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'sip_uri' => :'String', + :'phone_number' => :'String', + :'display_name' => :'String', + :'video' => :'Boolean', + :'codecs' => :'DialoutPropertiesCodecs' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::DialoutProperties` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::DialoutProperties`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'sip_uri') + self.sip_uri = attributes[:'sip_uri'] + end + + if attributes.key?(:'phone_number') + self.phone_number = attributes[:'phone_number'] + end + + if attributes.key?(:'display_name') + self.display_name = attributes[:'display_name'] + end + + if attributes.key?(:'video') + self.video = attributes[:'video'] + end + + if attributes.key?(:'codecs') + self.codecs = attributes[:'codecs'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + sip_uri == o.sip_uri && + phone_number == o.phone_number && + display_name == o.display_name && + video == o.video && + codecs == o.codecs + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [sip_uri, phone_number, display_name, video, codecs].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/dialout_properties_codecs.rb b/lib/daily-ruby/models/dialout_properties_codecs.rb new file mode 100644 index 0000000..aaea9d3 --- /dev/null +++ b/lib/daily-ruby/models/dialout_properties_codecs.rb @@ -0,0 +1,228 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # Specify specify the codecs to use for dial-out. + class DialoutPropertiesCodecs + attr_accessor :audio + + attr_accessor :video + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'audio' => :'audio', + :'video' => :'video' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'audio' => :'Array', + :'video' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::DialoutPropertiesCodecs` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::DialoutPropertiesCodecs`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'audio') + if (value = attributes[:'audio']).is_a?(Array) + self.audio = value + end + end + + if attributes.key?(:'video') + if (value = attributes[:'video']).is_a?(Array) + self.video = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + audio == o.audio && + video == o.video + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [audio, video].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/domain.rb b/lib/daily-ruby/models/domain.rb index 71c8f88..a3aeb07 100644 --- a/lib/daily-ruby/models/domain.rb +++ b/lib/daily-ruby/models/domain.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/domain_properties.rb b/lib/daily-ruby/models/domain_properties.rb index b4e58c5..41d755a 100644 --- a/lib/daily-ruby/models/domain_properties.rb +++ b/lib/daily-ruby/models/domain_properties.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -36,6 +36,9 @@ class DomainProperties # Sets whether rooms for this domain have [Daily Prebuilt](https://www.daily.co/prebuilt)’s breakout rooms feature enabled. When set to `true`, an owner in a Prebuilt call can create breakout rooms to divide participants into smaller, private groups. ⚠️ You must be using [Daily Prebuilt](https://daily.co/blog/daily-prebuilt-video-chat) to use `enable_breakout_rooms`. ⚠️ This property is in beta. attr_accessor :enable_breakout_rooms + # Sets whether participants in a room see a closed captions button in their Daily Prebuilt call tray. When the closed caption button is clicked, closed captions are displayed locally. When set to `true`, a closed captions button appears in the call tray. When set to `false`, the closed captions button is hidden from the call tray. Note: Transcription must be enabled for the room or users must have permission to start transcription for this feature to be enabled. View the [transcription guide](/guides/products/transcription) for more details. ⚠️ You must be using [Daily Prebuilt](https://daily.co/blog/daily-prebuilt-video-chat) to use `enable_live_captions_ui`. + attr_accessor :enable_live_captions_ui + # Determines whether the network button, and the network panel it reveals on click, appears across all rooms belonging to this domain. ⚠️ You must be using [Daily Prebuilt](https://daily.co/blog/daily-prebuilt-video-chat) to use `enable_network_ui`. attr_accessor :enable_network_ui @@ -60,7 +63,7 @@ class DomainProperties # The default language for the video call UI, for all calls. If you set the language at this domain level, you can still override the setting for specific rooms in [a room's configuration properties](/reference/rest-api/rooms/config), or for a specific participant in a [meeting token](/reference/rest-api/meeting-tokens/config). You can also set the language dynamically using the front-end library [setDailyLang() method](/reference/daily-js/instance-methods/set-daily-lang). `*` Norwegian `\"no\"` and Russian `\"ru\"` are only available in the new Daily Prebuilt. attr_accessor :lang - # Sets a URL that will receive a webhook when a user joins a room. + # Sets a URL that will receive a webhook when a user joins a room. ⚠️ In place of the `meeting_join_hook`, we recommend setting up a [webhook](/reference/rest-api/webhooks) and listening for the [`participant.joined`](/reference/rest-api/webhooks/events/participant-joined) event. attr_accessor :meeting_join_hook # Daily uses signaling servers to manage all of the participants in a given call session. In an SFU/server mode call, the server will send and receive all audio and video from each participant. In a peer-to-peer call, each participant sends media directly to and from each other peer, but a signaling server still manages call state. Daily runs servers in several different AWS regions to minimize latency for users around the world. The job of 'picking' a call server is handled when the first participant joins a room. The first participant's browser connects to a call server using Amazon's Route 53 DNS resolution, which chooses a server in the region closest to them. This isn't always optimal. For example, if one person joins in London, and then ten more people join from Cape Town, the call will still be hosted out of `eu-west-2` . The majority of the participants will have higher latency to the server than if one of them had joined first and the call was being hosted in `af-south-1`. In cases like this, you may want to configure your domain (or a specific room) to always choose a call server in a specific AWS region. Available regions: - `\"af-south-1\"` (Cape Town) - `\"ap-northeast-2\"` (Seoul) - `\"ap-southeast-1\"` (Singapore) - `\"ap-southeast-2\"` (Sydney) - `\"ap-south-1\"` (Mumbai) - `\"eu-central-1\"` (Frankfurt) - `\"eu-west-2\"` (London) - `\"sa-east-1\"` (São Paulo) - `\"us-east-1\"` (N. Virginia) - `\"us-west-2\"` (Oregon) @@ -86,9 +89,15 @@ class DomainProperties # Configures a room to use multiple SFUs for a call's media. This feature enables calls to scale to large sizes and to reduce latency between participants. It is recommended specifically for interactive live streaming. See our [guide for interactive live streaming](/guides/scaling-calls/interactive-live-streaming-rtmp-output#daily-prebuilt-configurations-to-support-100-000-participants) for additional instruction. attr_accessor :enable_mesh_sfu - # Dictates the participant count after which room topology automatically switches from Peer-to-Peer (P2P) to Selective Forwarding Unit (SFU) mode, or vice versa. For example, if `sfu_switchover` is set to `3` and the current network topology is P2P, the topology will switch to SFU mode when the _fourth_ participant joins the call. If the current topology is SFU, it will switch to P2P mode when the participant count decreases from `3` to `2`. We recommend specifying an integer value for this property except for cases where you would like the room to switch to SFU mode as soon as the first participant joins. In this case, set `sfu_switchover` to `0.5`. See our [guide about video call architecture](/guides/architecture-and-monitoring/intro-to-video-arch#the-architecture-of-a-room-p2p-vs-sfu-calls) for additional information. + # Dictates the participant count after which room topology automatically switches from Peer-to-Peer (P2P) to Selective Forwarding Unit (SFU) mode, or vice versa. For example, if `sfu_switchover` is set to `2` and the current network topology is P2P, the topology will switch to SFU mode when the _third_ participant joins the call. If the current topology is SFU, it will switch to P2P mode when the participant count decreases from `2` to `1`. We recommend specifying an integer value for this property except for cases where you would like the room to switch to SFU mode as soon as the first participant joins. In this case, set `sfu_switchover` to `0.5`. See our [guide about video call architecture](/guides/architecture-and-monitoring/intro-to-video-arch#the-architecture-of-a-room-p2p-vs-sfu-calls) for additional information. attr_accessor :sfu_switchover + # Configures a domain or room to use [Daily Adaptive Bitrate](/guides/building-additional-features/daily-adaptive-bitrate). When enabled, along with configuring the client to [`allowAdaptiveLayers`](/reference/daily-js/instance-methods/update-send-settings#sendsettings), the Daily client will continually adapt send settings to the current network conditions. `allowAdaptiveLayers` is `true` by default; if you haven't modified that setting, then setting `enable_adaptive_simulcast` to `true` will enable Daily Adaptive Bitrate for 1:1 calls. + attr_accessor :enable_adaptive_simulcast + + # Configures a domain or room to disallow multiple participants from having the same `user_id`. This feature can be enabled to prevent users from \"sharing\" meeting tokens. When enabled, a participant joining or reconnecting to a meeting will cause existing participants with the same user_id to be ejected. + attr_accessor :enforce_unique_user_ids + attr_accessor :recordings_bucket attr_accessor :permissions @@ -96,8 +105,14 @@ class DomainProperties # Defines a custom S3 bucket where the batch processor will write its output attr_accessor :batch_processor_bucket - # Enables whether the batch processor will use [ScienceIO metadata concepts](https://www.science.io/) when generating SOAP notes. - attr_accessor :batch_processor_enable_medical_concept + # Enables the use of Opus in-band FEC (Forward Error Correction) when encoding audio to send, where possible. This can make audio quality more resilient to packet loss. + attr_accessor :enable_opus_fec + + # [SIP Interconnect and Pinless Dialin](/guides/products/dial-in-dial-out/dialin-pinless#provisioning-sip-interconnect-and-pinless-dialin-workflow),i.e., without entering a PIN code when dialling a phone number or directly calling a Daily SIP Interconnect address. In this case you dont need a SIP address associated to a particular Daily Room. When a call comes in to this phone number or to the sip interconnect address, it will trigger a webhook, where you'll need to create the Daily room and forward the call to the `sipUri` assocaited to the newly created room. The Pinless Dialin only works with purchased phone numbers, because the call is not intended for a particular Daily room. Read more details on our [dosc-site](/guides/products/dial-in-dial-out/dialin-pinless). + attr_accessor :pinless_dialin + + # Dialin with a [PIN code](/guides/products/dial-in-dial-out/dialin-pin). This works with both the Global phone numbers and any number that you purchased. When a call comes into one of the phone numbers, the dialer must enter the PIN code. If the code is correct, the user will be connected to the Daily Room. Otherwise the incoming call will be disconnected if an incorrect PIN code is entered. + attr_accessor :pin_dialin class EnumAttributeValidator attr_reader :datatype @@ -131,6 +146,7 @@ def self.attribute_map :'enable_hand_raising' => :'enable_hand_raising', :'enable_prejoin_ui' => :'enable_prejoin_ui', :'enable_breakout_rooms' => :'enable_breakout_rooms', + :'enable_live_captions_ui' => :'enable_live_captions_ui', :'enable_network_ui' => :'enable_network_ui', :'enable_noise_cancellation_ui' => :'enable_noise_cancellation_ui', :'enable_video_processing_ui' => :'enable_video_processing_ui', @@ -149,10 +165,14 @@ def self.attribute_map :'recordings_template' => :'recordings_template', :'enable_mesh_sfu' => :'enable_mesh_sfu', :'sfu_switchover' => :'sfu_switchover', + :'enable_adaptive_simulcast' => :'enable_adaptive_simulcast', + :'enforce_unique_user_ids' => :'enforce_unique_user_ids', :'recordings_bucket' => :'recordings_bucket', :'permissions' => :'permissions', :'batch_processor_bucket' => :'batch_processor_bucket', - :'batch_processor_enable_medical_concept' => :'batch_processor_enable_medical_concept' + :'enable_opus_fec' => :'enable_opus_fec', + :'pinless_dialin' => :'pinless_dialin', + :'pin_dialin' => :'pin_dialin' } end @@ -171,6 +191,7 @@ def self.openapi_types :'enable_hand_raising' => :'Boolean', :'enable_prejoin_ui' => :'Boolean', :'enable_breakout_rooms' => :'Boolean', + :'enable_live_captions_ui' => :'Boolean', :'enable_network_ui' => :'Boolean', :'enable_noise_cancellation_ui' => :'Boolean', :'enable_video_processing_ui' => :'Boolean', @@ -189,10 +210,14 @@ def self.openapi_types :'recordings_template' => :'String', :'enable_mesh_sfu' => :'Boolean', :'sfu_switchover' => :'Float', + :'enable_adaptive_simulcast' => :'Boolean', + :'enforce_unique_user_ids' => :'Boolean', :'recordings_bucket' => :'RecordingsBucket', :'permissions' => :'Permissions', :'batch_processor_bucket' => :'Object', - :'batch_processor_enable_medical_concept' => :'Boolean' + :'enable_opus_fec' => :'Boolean', + :'pinless_dialin' => :'Array', + :'pin_dialin' => :'Array' } end @@ -259,6 +284,12 @@ def initialize(attributes = {}) self.enable_breakout_rooms = false end + if attributes.key?(:'enable_live_captions_ui') + self.enable_live_captions_ui = attributes[:'enable_live_captions_ui'] + else + self.enable_live_captions_ui = false + end + if attributes.key?(:'enable_network_ui') self.enable_network_ui = attributes[:'enable_network_ui'] else @@ -356,7 +387,19 @@ def initialize(attributes = {}) if attributes.key?(:'sfu_switchover') self.sfu_switchover = attributes[:'sfu_switchover'] else - self.sfu_switchover = 2 + self.sfu_switchover = 0.5 + end + + if attributes.key?(:'enable_adaptive_simulcast') + self.enable_adaptive_simulcast = attributes[:'enable_adaptive_simulcast'] + else + self.enable_adaptive_simulcast = true + end + + if attributes.key?(:'enforce_unique_user_ids') + self.enforce_unique_user_ids = attributes[:'enforce_unique_user_ids'] + else + self.enforce_unique_user_ids = false end if attributes.key?(:'recordings_bucket') @@ -371,10 +414,20 @@ def initialize(attributes = {}) self.batch_processor_bucket = attributes[:'batch_processor_bucket'] end - if attributes.key?(:'batch_processor_enable_medical_concept') - self.batch_processor_enable_medical_concept = attributes[:'batch_processor_enable_medical_concept'] - else - self.batch_processor_enable_medical_concept = true + if attributes.key?(:'enable_opus_fec') + self.enable_opus_fec = attributes[:'enable_opus_fec'] + end + + if attributes.key?(:'pinless_dialin') + if (value = attributes[:'pinless_dialin']).is_a?(Array) + self.pinless_dialin = value + end + end + + if attributes.key?(:'pin_dialin') + if (value = attributes[:'pin_dialin']).is_a?(Array) + self.pin_dialin = value + end end end @@ -390,7 +443,7 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - lang_validator = EnumAttributeValidator.new('String', ["de", "en", "es", "fi", "fr", "it", "jp", "ka", "nl", "no", "pt", "pt-BR", "pl", "ru", "sv", "tr", "user"]) + lang_validator = EnumAttributeValidator.new('String', ["da", "de", "en", "es", "fi", "fr", "it", "jp", "ka", "nl", "no", "pt", "pt-BR", "pl", "ru", "sv", "tr", "user", "unknown_default_open_api"]) return false unless lang_validator.valid?(@lang) true end @@ -398,7 +451,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] lang Object to be assigned def lang=(lang) - validator = EnumAttributeValidator.new('String', ["de", "en", "es", "fi", "fr", "it", "jp", "ka", "nl", "no", "pt", "pt-BR", "pl", "ru", "sv", "tr", "user"]) + validator = EnumAttributeValidator.new('String', ["da", "de", "en", "es", "fi", "fr", "it", "jp", "ka", "nl", "no", "pt", "pt-BR", "pl", "ru", "sv", "tr", "user", "unknown_default_open_api"]) unless validator.valid?(lang) fail ArgumentError, "invalid value for \"lang\", must be one of #{validator.allowable_values}." end @@ -417,6 +470,7 @@ def ==(o) enable_hand_raising == o.enable_hand_raising && enable_prejoin_ui == o.enable_prejoin_ui && enable_breakout_rooms == o.enable_breakout_rooms && + enable_live_captions_ui == o.enable_live_captions_ui && enable_network_ui == o.enable_network_ui && enable_noise_cancellation_ui == o.enable_noise_cancellation_ui && enable_video_processing_ui == o.enable_video_processing_ui && @@ -435,10 +489,14 @@ def ==(o) recordings_template == o.recordings_template && enable_mesh_sfu == o.enable_mesh_sfu && sfu_switchover == o.sfu_switchover && + enable_adaptive_simulcast == o.enable_adaptive_simulcast && + enforce_unique_user_ids == o.enforce_unique_user_ids && recordings_bucket == o.recordings_bucket && permissions == o.permissions && batch_processor_bucket == o.batch_processor_bucket && - batch_processor_enable_medical_concept == o.batch_processor_enable_medical_concept + enable_opus_fec == o.enable_opus_fec && + pinless_dialin == o.pinless_dialin && + pin_dialin == o.pin_dialin end # @see the `==` method @@ -450,7 +508,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [enable_advanced_chat, enable_people_ui, enable_pip_ui, enable_emoji_reactions, enable_hand_raising, enable_prejoin_ui, enable_breakout_rooms, enable_network_ui, enable_noise_cancellation_ui, enable_video_processing_ui, hide_daily_branding, redirect_on_meeting_exit, hipaa, intercom_auto_record, lang, meeting_join_hook, geo, rtmp_geo, disable_rtmp_geo_fallback, enable_terse_logging, enable_transcription_storage, transcription_bucket, recordings_template, enable_mesh_sfu, sfu_switchover, recordings_bucket, permissions, batch_processor_bucket, batch_processor_enable_medical_concept].hash + [enable_advanced_chat, enable_people_ui, enable_pip_ui, enable_emoji_reactions, enable_hand_raising, enable_prejoin_ui, enable_breakout_rooms, enable_live_captions_ui, enable_network_ui, enable_noise_cancellation_ui, enable_video_processing_ui, hide_daily_branding, redirect_on_meeting_exit, hipaa, intercom_auto_record, lang, meeting_join_hook, geo, rtmp_geo, disable_rtmp_geo_fallback, enable_terse_logging, enable_transcription_storage, transcription_bucket, recordings_template, enable_mesh_sfu, sfu_switchover, enable_adaptive_simulcast, enforce_unique_user_ids, recordings_bucket, permissions, batch_processor_bucket, enable_opus_fec, pinless_dialin, pin_dialin].hash end # Builds the object from hash diff --git a/lib/daily-ruby/models/eject200_response.rb b/lib/daily-ruby/models/eject200_response.rb index 056eca7..9ddf148 100644 --- a/lib/daily-ruby/models/eject200_response.rb +++ b/lib/daily-ruby/models/eject200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/eject_request.rb b/lib/daily-ruby/models/eject_request.rb index de44f4a..ebf23ec 100644 --- a/lib/daily-ruby/models/eject_request.rb +++ b/lib/daily-ruby/models/eject_request.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -15,13 +15,21 @@ module Daily class EjectRequest - # Required list of participant ids (max 100) to eject from the existing meeting session. + # List of participant ids (max 100) to eject from the existing meeting session. attr_accessor :ids + # List of user_ids (max 100) to eject from the existing meeting session. + attr_accessor :user_ids + + # If true, participants are prevented from (re)joining with the given user_ids. + attr_accessor :ban + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'ids' => :'ids' + :'ids' => :'ids', + :'user_ids' => :'user_ids', + :'ban' => :'ban' } end @@ -33,7 +41,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'ids' => :'Array' + :'ids' => :'Array', + :'user_ids' => :'Array', + :'ban' => :'Boolean' } end @@ -63,6 +73,18 @@ def initialize(attributes = {}) self.ids = value end end + + if attributes.key?(:'user_ids') + if (value = attributes[:'user_ids']).is_a?(Array) + self.user_ids = value + end + end + + if attributes.key?(:'ban') + self.ban = attributes[:'ban'] + else + self.ban = false + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -85,7 +107,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - ids == o.ids + ids == o.ids && + user_ids == o.user_ids && + ban == o.ban end # @see the `==` method @@ -97,7 +121,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [ids].hash + [ids, user_ids, ban].hash end # Builds the object from hash diff --git a/lib/daily-ruby/models/get_domain_config200_response.rb b/lib/daily-ruby/models/get_domain_config200_response.rb index 678b8dc..af909be 100644 --- a/lib/daily-ruby/models/get_domain_config200_response.rb +++ b/lib/daily-ruby/models/get_domain_config200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/get_domain_config200_response_config.rb b/lib/daily-ruby/models/get_domain_config200_response_config.rb index 5618c69..4298571 100644 --- a/lib/daily-ruby/models/get_domain_config200_response_config.rb +++ b/lib/daily-ruby/models/get_domain_config200_response_config.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -47,6 +47,8 @@ class GetDomainConfig200ResponseConfig attr_accessor :enable_prejoin_ui + attr_accessor :enable_live_captions_ui + attr_accessor :enable_network_ui attr_accessor :disable_rate_limiting @@ -72,6 +74,7 @@ def self.attribute_map :'max_streaming_instances_per_room' => :'max_streaming_instances_per_room', :'enable_daily_logger' => :'enable_daily_logger', :'enable_prejoin_ui' => :'enable_prejoin_ui', + :'enable_live_captions_ui' => :'enable_live_captions_ui', :'enable_network_ui' => :'enable_network_ui', :'disable_rate_limiting' => :'disable_rate_limiting', :'attach_callobject_to_window' => :'attach_callobject_to_window' @@ -102,6 +105,7 @@ def self.openapi_types :'max_streaming_instances_per_room' => :'Float', :'enable_daily_logger' => :'Boolean', :'enable_prejoin_ui' => :'Boolean', + :'enable_live_captions_ui' => :'Boolean', :'enable_network_ui' => :'Boolean', :'disable_rate_limiting' => :'Boolean', :'attach_callobject_to_window' => :'Boolean' @@ -193,6 +197,10 @@ def initialize(attributes = {}) self.enable_prejoin_ui = attributes[:'enable_prejoin_ui'] end + if attributes.key?(:'enable_live_captions_ui') + self.enable_live_captions_ui = attributes[:'enable_live_captions_ui'] + end + if attributes.key?(:'enable_network_ui') self.enable_network_ui = attributes[:'enable_network_ui'] end @@ -261,6 +269,7 @@ def ==(o) max_streaming_instances_per_room == o.max_streaming_instances_per_room && enable_daily_logger == o.enable_daily_logger && enable_prejoin_ui == o.enable_prejoin_ui && + enable_live_captions_ui == o.enable_live_captions_ui && enable_network_ui == o.enable_network_ui && disable_rate_limiting == o.disable_rate_limiting && attach_callobject_to_window == o.attach_callobject_to_window @@ -275,7 +284,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [hide_daily_branding, redirect_on_meeting_exit, meeting_join_hook, hipaa, intercom_auto_record, intercom_manual_record, sfu_impl, sfu_switchover, switchover_impl, lang, webhook_meeting_end, recordings_bucket, max_live_streams, max_streaming_instances_per_room, enable_daily_logger, enable_prejoin_ui, enable_network_ui, disable_rate_limiting, attach_callobject_to_window].hash + [hide_daily_branding, redirect_on_meeting_exit, meeting_join_hook, hipaa, intercom_auto_record, intercom_manual_record, sfu_impl, sfu_switchover, switchover_impl, lang, webhook_meeting_end, recordings_bucket, max_live_streams, max_streaming_instances_per_room, enable_daily_logger, enable_prejoin_ui, enable_live_captions_ui, enable_network_ui, disable_rate_limiting, attach_callobject_to_window].hash end # Builds the object from hash diff --git a/lib/daily-ruby/models/get_domain_config200_response_config_recordings_bucket.rb b/lib/daily-ruby/models/get_domain_config200_response_config_recordings_bucket.rb index 0b2afd9..a8abdbb 100644 --- a/lib/daily-ruby/models/get_domain_config200_response_config_recordings_bucket.rb +++ b/lib/daily-ruby/models/get_domain_config200_response_config_recordings_bucket.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/get_meeting_info200_response.rb b/lib/daily-ruby/models/get_meeting_info200_response.rb index 2d8f438..cf6bc47 100644 --- a/lib/daily-ruby/models/get_meeting_info200_response.rb +++ b/lib/daily-ruby/models/get_meeting_info200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/get_meeting_info200_response_data_inner.rb b/lib/daily-ruby/models/get_meeting_info200_response_data_inner.rb index e8198f0..da5e41d 100644 --- a/lib/daily-ruby/models/get_meeting_info200_response_data_inner.rb +++ b/lib/daily-ruby/models/get_meeting_info200_response_data_inner.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/get_meeting_info200_response_data_inner_participants_inner.rb b/lib/daily-ruby/models/get_meeting_info200_response_data_inner_participants_inner.rb index 639367c..9f54553 100644 --- a/lib/daily-ruby/models/get_meeting_info200_response_data_inner_participants_inner.rb +++ b/lib/daily-ruby/models/get_meeting_info200_response_data_inner_participants_inner.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/get_presence200_response.rb b/lib/daily-ruby/models/get_presence200_response.rb index 4564ee3..1136035 100644 --- a/lib/daily-ruby/models/get_presence200_response.rb +++ b/lib/daily-ruby/models/get_presence200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/get_presence200_response_aivw_whz_hl_lhr_sd_hdw7_ew_inner.rb b/lib/daily-ruby/models/get_presence200_response_aivw_whz_hl_lhr_sd_hdw7_ew_inner.rb index 1c16a50..d891c78 100644 --- a/lib/daily-ruby/models/get_presence200_response_aivw_whz_hl_lhr_sd_hdw7_ew_inner.rb +++ b/lib/daily-ruby/models/get_presence200_response_aivw_whz_hl_lhr_sd_hdw7_ew_inner.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/get_recording_info200_response.rb b/lib/daily-ruby/models/get_recording_info200_response.rb index 9575eb7..b60301d 100644 --- a/lib/daily-ruby/models/get_recording_info200_response.rb +++ b/lib/daily-ruby/models/get_recording_info200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -179,7 +179,7 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - status_validator = EnumAttributeValidator.new('String', ["finished", "in-progress", "canceled"]) + status_validator = EnumAttributeValidator.new('String', ["finished", "in-progress", "canceled", "unknown_default_open_api"]) return false unless status_validator.valid?(@status) true end @@ -187,7 +187,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] status Object to be assigned def status=(status) - validator = EnumAttributeValidator.new('String', ["finished", "in-progress", "canceled"]) + validator = EnumAttributeValidator.new('String', ["finished", "in-progress", "canceled", "unknown_default_open_api"]) unless validator.valid?(status) fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/get_recording_info200_response_tracks_inner.rb b/lib/daily-ruby/models/get_recording_info200_response_tracks_inner.rb index 7b23de5..e133985 100644 --- a/lib/daily-ruby/models/get_recording_info200_response_tracks_inner.rb +++ b/lib/daily-ruby/models/get_recording_info200_response_tracks_inner.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -115,7 +115,7 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - type_validator = EnumAttributeValidator.new('String', ["audio", "video"]) + type_validator = EnumAttributeValidator.new('String', ["audio", "video", "unknown_default_open_api"]) return false unless type_validator.valid?(@type) true end @@ -123,7 +123,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] type Object to be assigned def type=(type) - validator = EnumAttributeValidator.new('String', ["audio", "video"]) + validator = EnumAttributeValidator.new('String', ["audio", "video", "unknown_default_open_api"]) unless validator.valid?(type) fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/get_recording_link200_response.rb b/lib/daily-ruby/models/get_recording_link200_response.rb index 0faa341..408a448 100644 --- a/lib/daily-ruby/models/get_recording_link200_response.rb +++ b/lib/daily-ruby/models/get_recording_link200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/get_transcript_info200_response.rb b/lib/daily-ruby/models/get_transcript_info200_response.rb index 001da45..0e1acfd 100644 --- a/lib/daily-ruby/models/get_transcript_info200_response.rb +++ b/lib/daily-ruby/models/get_transcript_info200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -34,7 +34,7 @@ class GetTranscriptInfo200Response attr_accessor :out_params - # if `status` is `t_error`, this provide the description of the error. + # If `status` is `t_error`, this provide the description of the error, otherwise `null`. attr_accessor :error class EnumAttributeValidator @@ -158,7 +158,7 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - status_validator = EnumAttributeValidator.new('String', ["t_finished", "t_in-progress", "t_error"]) + status_validator = EnumAttributeValidator.new('String', ["t_finished", "t_in_progress", "t_error", "unknown_default_open_api"]) return false unless status_validator.valid?(@status) true end @@ -166,7 +166,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] status Object to be assigned def status=(status) - validator = EnumAttributeValidator.new('String', ["t_finished", "t_in-progress", "t_error"]) + validator = EnumAttributeValidator.new('String', ["t_finished", "t_in_progress", "t_error", "unknown_default_open_api"]) unless validator.valid?(status) fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/get_transcript_info200_response_out_params.rb b/lib/daily-ruby/models/get_transcript_info200_response_out_params.rb index 680b949..94b0219 100644 --- a/lib/daily-ruby/models/get_transcript_info200_response_out_params.rb +++ b/lib/daily-ruby/models/get_transcript_info200_response_out_params.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -14,6 +14,7 @@ require 'time' module Daily + # Object representing the storage location for the transcript if `transcription_bucket` is defined. class GetTranscriptInfo200ResponseOutParams attr_accessor :s3key diff --git a/lib/daily-ruby/models/get_transcript_link200_response.rb b/lib/daily-ruby/models/get_transcript_link200_response.rb index d45a1fc..bde5f19 100644 --- a/lib/daily-ruby/models/get_transcript_link200_response.rb +++ b/lib/daily-ruby/models/get_transcript_link200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/list_api_logs200_response.rb b/lib/daily-ruby/models/list_api_logs200_response.rb index a01c270..f745c7a 100644 --- a/lib/daily-ruby/models/list_api_logs200_response.rb +++ b/lib/daily-ruby/models/list_api_logs200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -18,7 +18,7 @@ class ListAPILogs200Response # An ID identifying the log that was generated. attr_accessor :id - # The user ID associated with the owner of the account. + # The user ID associated with the owner of the account. attr_accessor :user_id # The domain ID associated with this log statement. diff --git a/lib/daily-ruby/models/list_recordings200_response.rb b/lib/daily-ruby/models/list_recordings200_response.rb index 163de34..0adba61 100644 --- a/lib/daily-ruby/models/list_recordings200_response.rb +++ b/lib/daily-ruby/models/list_recordings200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/list_recordings200_response_data_inner.rb b/lib/daily-ruby/models/list_recordings200_response_data_inner.rb index b88a31c..852959b 100644 --- a/lib/daily-ruby/models/list_recordings200_response_data_inner.rb +++ b/lib/daily-ruby/models/list_recordings200_response_data_inner.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/list_rooms200_response.rb b/lib/daily-ruby/models/list_rooms200_response.rb index 49821c2..07d98b5 100644 --- a/lib/daily-ruby/models/list_rooms200_response.rb +++ b/lib/daily-ruby/models/list_rooms200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/list_rooms200_response_data_inner.rb b/lib/daily-ruby/models/list_rooms200_response_data_inner.rb index 2d0be3b..ee8f641 100644 --- a/lib/daily-ruby/models/list_rooms200_response_data_inner.rb +++ b/lib/daily-ruby/models/list_rooms200_response_data_inner.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/list_rooms200_response_data_inner_config.rb b/lib/daily-ruby/models/list_rooms200_response_data_inner_config.rb index ac31fb5..2160c8c 100644 --- a/lib/daily-ruby/models/list_rooms200_response_data_inner_config.rb +++ b/lib/daily-ruby/models/list_rooms200_response_data_inner_config.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/list_transcript200_response.rb b/lib/daily-ruby/models/list_transcript200_response.rb index 709fa69..f2089da 100644 --- a/lib/daily-ruby/models/list_transcript200_response.rb +++ b/lib/daily-ruby/models/list_transcript200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/list_transcript200_response_data_inner.rb b/lib/daily-ruby/models/list_transcript200_response_data_inner.rb index 6bb783a..04f5369 100644 --- a/lib/daily-ruby/models/list_transcript200_response_data_inner.rb +++ b/lib/daily-ruby/models/list_transcript200_response_data_inner.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -141,7 +141,7 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - status_validator = EnumAttributeValidator.new('String', ["t_finished", "t_in-progress", "t_error"]) + status_validator = EnumAttributeValidator.new('String', ["t_finished", "t_in_progress", "t_error", "unknown_default_open_api"]) return false unless status_validator.valid?(@status) true end @@ -149,7 +149,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] status Object to be assigned def status=(status) - validator = EnumAttributeValidator.new('String', ["t_finished", "t_in-progress", "t_error"]) + validator = EnumAttributeValidator.new('String', ["t_finished", "t_in_progress", "t_error", "unknown_default_open_api"]) unless validator.valid?(status) fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/meeting_ended.rb b/lib/daily-ruby/models/meeting_ended.rb new file mode 100644 index 0000000..afbc5ab --- /dev/null +++ b/lib/daily-ruby/models/meeting_ended.rb @@ -0,0 +1,278 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + class MeetingEnded + # The semantic version of the current message. + attr_accessor :version + + # The type of event that is being provided. + attr_accessor :type + + # The Unix epoch time in seconds representing when the event was generated. + attr_accessor :event_ts + + attr_accessor :payload + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'version' => :'version', + :'type' => :'type', + :'event_ts' => :'event_ts', + :'payload' => :'payload' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'version' => :'String', + :'type' => :'String', + :'event_ts' => :'Float', + :'payload' => :'MeetingEndedPayload' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::MeetingEnded` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::MeetingEnded`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'event_ts') + self.event_ts = attributes[:'event_ts'] + end + + if attributes.key?(:'payload') + self.payload = attributes[:'payload'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + type_validator = EnumAttributeValidator.new('String', ["meeting.ended", "unknown_default_open_api"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["meeting.ended", "unknown_default_open_api"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + version == o.version && + type == o.type && + event_ts == o.event_ts && + payload == o.payload + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [version, type, event_ts, payload].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/meeting_ended_payload.rb b/lib/daily-ruby/models/meeting_ended_payload.rb new file mode 100644 index 0000000..17a88b3 --- /dev/null +++ b/lib/daily-ruby/models/meeting_ended_payload.rb @@ -0,0 +1,246 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # The payload of the object, describing the given event. + class MeetingEndedPayload + # The Unix epoch time in seconds representing when the meeting started. + attr_accessor :start_ts + + # The Unix epoch time in seconds representing when the meeting ended. + attr_accessor :end_ts + + # The meeting ID. + attr_accessor :meeting_id + + # The name of the room. + attr_accessor :room + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'start_ts' => :'start_ts', + :'end_ts' => :'end_ts', + :'meeting_id' => :'meeting_id', + :'room' => :'room' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'start_ts' => :'Float', + :'end_ts' => :'Float', + :'meeting_id' => :'String', + :'room' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::MeetingEndedPayload` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::MeetingEndedPayload`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'start_ts') + self.start_ts = attributes[:'start_ts'] + end + + if attributes.key?(:'end_ts') + self.end_ts = attributes[:'end_ts'] + end + + if attributes.key?(:'meeting_id') + self.meeting_id = attributes[:'meeting_id'] + end + + if attributes.key?(:'room') + self.room = attributes[:'room'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + start_ts == o.start_ts && + end_ts == o.end_ts && + meeting_id == o.meeting_id && + room == o.room + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [start_ts, end_ts, meeting_id, room].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/meeting_participants_get_res.rb b/lib/daily-ruby/models/meeting_participants_get_res.rb index 9396619..e0816ec 100644 --- a/lib/daily-ruby/models/meeting_participants_get_res.rb +++ b/lib/daily-ruby/models/meeting_participants_get_res.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -15,14 +15,11 @@ module Daily class MeetingParticipantsGetRes - attr_accessor :total_count - attr_accessor :data # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'total_count' => :'total_count', :'data' => :'data' } end @@ -35,7 +32,6 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'total_count' => :'Integer', :'data' => :'Array' } end @@ -61,10 +57,6 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'total_count') - self.total_count = attributes[:'total_count'] - end - if attributes.key?(:'data') if (value = attributes[:'data']).is_a?(Array) self.data = value @@ -92,7 +84,6 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - total_count == o.total_count && data == o.data end @@ -105,7 +96,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [total_count, data].hash + [data].hash end # Builds the object from hash diff --git a/lib/daily-ruby/models/meeting_participants_get_res_data_inner.rb b/lib/daily-ruby/models/meeting_participants_get_res_data_inner.rb index 1348438..f0979ba 100644 --- a/lib/daily-ruby/models/meeting_participants_get_res_data_inner.rb +++ b/lib/daily-ruby/models/meeting_participants_get_res_data_inner.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/meeting_started.rb b/lib/daily-ruby/models/meeting_started.rb new file mode 100644 index 0000000..a2a5ebf --- /dev/null +++ b/lib/daily-ruby/models/meeting_started.rb @@ -0,0 +1,278 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + class MeetingStarted + # The semantic version of the current message. + attr_accessor :version + + # The type of event that is being provided. + attr_accessor :type + + # The Unix epoch time in seconds representing when the event was generated. + attr_accessor :event_ts + + attr_accessor :payload + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'version' => :'version', + :'type' => :'type', + :'event_ts' => :'event_ts', + :'payload' => :'payload' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'version' => :'String', + :'type' => :'String', + :'event_ts' => :'Float', + :'payload' => :'MeetingStartedPayload' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::MeetingStarted` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::MeetingStarted`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'event_ts') + self.event_ts = attributes[:'event_ts'] + end + + if attributes.key?(:'payload') + self.payload = attributes[:'payload'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + type_validator = EnumAttributeValidator.new('String', ["meeting.started", "unknown_default_open_api"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["meeting.started", "unknown_default_open_api"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + version == o.version && + type == o.type && + event_ts == o.event_ts && + payload == o.payload + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [version, type, event_ts, payload].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/meeting_started_payload.rb b/lib/daily-ruby/models/meeting_started_payload.rb new file mode 100644 index 0000000..a8c613b --- /dev/null +++ b/lib/daily-ruby/models/meeting_started_payload.rb @@ -0,0 +1,236 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # The payload of the object, describing the given event. + class MeetingStartedPayload + # The Unix epoch time in seconds representing when meeting started. + attr_accessor :start_ts + + # The meeting ID. + attr_accessor :meeting_id + + # The name of the room. + attr_accessor :room + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'start_ts' => :'start_ts', + :'meeting_id' => :'meeting_id', + :'room' => :'room' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'start_ts' => :'Float', + :'meeting_id' => :'String', + :'room' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::MeetingStartedPayload` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::MeetingStartedPayload`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'start_ts') + self.start_ts = attributes[:'start_ts'] + end + + if attributes.key?(:'meeting_id') + self.meeting_id = attributes[:'meeting_id'] + end + + if attributes.key?(:'room') + self.room = attributes[:'room'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + start_ts == o.start_ts && + meeting_id == o.meeting_id && + room == o.room + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [start_ts, meeting_id, room].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/meetings_meeting_get_res.rb b/lib/daily-ruby/models/meetings_meeting_get_res.rb index 8fc781c..7be41c5 100644 --- a/lib/daily-ruby/models/meetings_meeting_get_res.rb +++ b/lib/daily-ruby/models/meetings_meeting_get_res.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/participant_joined.rb b/lib/daily-ruby/models/participant_joined.rb new file mode 100644 index 0000000..0b850fa --- /dev/null +++ b/lib/daily-ruby/models/participant_joined.rb @@ -0,0 +1,278 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + class ParticipantJoined + # The semantic version of the current message. + attr_accessor :version + + # The type of event that is being provided. + attr_accessor :type + + # The Unix epoch time in seconds representing when the event was generated. + attr_accessor :event_ts + + attr_accessor :payload + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'version' => :'version', + :'type' => :'type', + :'event_ts' => :'event_ts', + :'payload' => :'payload' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'version' => :'String', + :'type' => :'String', + :'event_ts' => :'Float', + :'payload' => :'ParticipantJoinedPayload' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::ParticipantJoined` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::ParticipantJoined`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'event_ts') + self.event_ts = attributes[:'event_ts'] + end + + if attributes.key?(:'payload') + self.payload = attributes[:'payload'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + type_validator = EnumAttributeValidator.new('String', ["participant.joined", "unknown_default_open_api"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["participant.joined", "unknown_default_open_api"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + version == o.version && + type == o.type && + event_ts == o.event_ts && + payload == o.payload + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [version, type, event_ts, payload].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/participant_joined_payload.rb b/lib/daily-ruby/models/participant_joined_payload.rb new file mode 100644 index 0000000..155644d --- /dev/null +++ b/lib/daily-ruby/models/participant_joined_payload.rb @@ -0,0 +1,285 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # The payload of the object, describing the given event. + class ParticipantJoinedPayload + # The Unix epoch time in seconds representing when the participant joined. + attr_accessor :joined_at + + # The user session ID, or participant id. + attr_accessor :session_id + + # The name of the room. + attr_accessor :room + + # The ID of the user, set by the meeting token. + attr_accessor :user_id + + # The name of the user, set by the meeting token. + attr_accessor :user_name + + # A flag determining if this user is considered the owner. + attr_accessor :owner + + # The Unix epoch time in seconds representing when the participant will be ejected. + attr_accessor :will_eject_at + + attr_accessor :permissions + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'joined_at' => :'joined_at', + :'session_id' => :'session_id', + :'room' => :'room', + :'user_id' => :'user_id', + :'user_name' => :'user_name', + :'owner' => :'owner', + :'will_eject_at' => :'will_eject_at', + :'permissions' => :'permissions' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'joined_at' => :'Float', + :'session_id' => :'String', + :'room' => :'String', + :'user_id' => :'String', + :'user_name' => :'String', + :'owner' => :'Boolean', + :'will_eject_at' => :'Float', + :'permissions' => :'ParticipantJoinedPayloadPermissions' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::ParticipantJoinedPayload` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::ParticipantJoinedPayload`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'joined_at') + self.joined_at = attributes[:'joined_at'] + end + + if attributes.key?(:'session_id') + self.session_id = attributes[:'session_id'] + end + + if attributes.key?(:'room') + self.room = attributes[:'room'] + end + + if attributes.key?(:'user_id') + self.user_id = attributes[:'user_id'] + end + + if attributes.key?(:'user_name') + self.user_name = attributes[:'user_name'] + end + + if attributes.key?(:'owner') + self.owner = attributes[:'owner'] + end + + if attributes.key?(:'will_eject_at') + self.will_eject_at = attributes[:'will_eject_at'] + end + + if attributes.key?(:'permissions') + self.permissions = attributes[:'permissions'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + joined_at == o.joined_at && + session_id == o.session_id && + room == o.room && + user_id == o.user_id && + user_name == o.user_name && + owner == o.owner && + will_eject_at == o.will_eject_at && + permissions == o.permissions + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [joined_at, session_id, room, user_id, user_name, owner, will_eject_at, permissions].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/participant_joined_payload_permissions.rb b/lib/daily-ruby/models/participant_joined_payload_permissions.rb new file mode 100644 index 0000000..6b276fd --- /dev/null +++ b/lib/daily-ruby/models/participant_joined_payload_permissions.rb @@ -0,0 +1,240 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # The permissions object, that describes what the participant is permitted to do during this call. + class ParticipantJoinedPayloadPermissions + # Determines whether the participant is \"present\" or \"hidden\" + attr_accessor :has_presence + + # Array of strings identifying which types of media the participant can send or a boolean to grant/revoke permissions for all media types. + attr_accessor :can_send + + # Array of strings identifying which types of admin tasks the participant can do or a boolean to grant/revoke permissions for all types. + attr_accessor :can_admin + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'has_presence' => :'hasPresence', + :'can_send' => :'canSend', + :'can_admin' => :'canAdmin' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'has_presence' => :'Boolean', + :'can_send' => :'Array', + :'can_admin' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::ParticipantJoinedPayloadPermissions` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::ParticipantJoinedPayloadPermissions`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'has_presence') + self.has_presence = attributes[:'has_presence'] + end + + if attributes.key?(:'can_send') + if (value = attributes[:'can_send']).is_a?(Array) + self.can_send = value + end + end + + if attributes.key?(:'can_admin') + if (value = attributes[:'can_admin']).is_a?(Array) + self.can_admin = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + has_presence == o.has_presence && + can_send == o.can_send && + can_admin == o.can_admin + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [has_presence, can_send, can_admin].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/participant_left.rb b/lib/daily-ruby/models/participant_left.rb new file mode 100644 index 0000000..8d36ac0 --- /dev/null +++ b/lib/daily-ruby/models/participant_left.rb @@ -0,0 +1,278 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + class ParticipantLeft + # The semantic version of the current message. + attr_accessor :version + + # The type of event that is being provided. + attr_accessor :type + + # The Unix epoch time in seconds representing when the event was generated. + attr_accessor :event_ts + + attr_accessor :payload + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'version' => :'version', + :'type' => :'type', + :'event_ts' => :'event_ts', + :'payload' => :'payload' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'version' => :'String', + :'type' => :'String', + :'event_ts' => :'Float', + :'payload' => :'ParticipantLeftPayload' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::ParticipantLeft` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::ParticipantLeft`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'event_ts') + self.event_ts = attributes[:'event_ts'] + end + + if attributes.key?(:'payload') + self.payload = attributes[:'payload'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + type_validator = EnumAttributeValidator.new('String', ["participant.left", "unknown_default_open_api"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["participant.left", "unknown_default_open_api"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + version == o.version && + type == o.type && + event_ts == o.event_ts && + payload == o.payload + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [version, type, event_ts, payload].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/participant_left_payload.rb b/lib/daily-ruby/models/participant_left_payload.rb new file mode 100644 index 0000000..646b225 --- /dev/null +++ b/lib/daily-ruby/models/participant_left_payload.rb @@ -0,0 +1,295 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # The payload of the object, describing the given event. + class ParticipantLeftPayload + # The Unix epoch time in seconds representing when the participant joined. + attr_accessor :joined_at + + # The time in seconds representing how long the participant was in the call. + attr_accessor :duration + + # The user session ID, or participant id. + attr_accessor :session_id + + # The name of the room. + attr_accessor :room + + # The ID of the user, set by the meeting token. + attr_accessor :user_id + + # The name of the user, set by the meeting token. + attr_accessor :user_name + + # A flag determining if this user is considered the owner. + attr_accessor :owner + + # The Unix epoch time in seconds representing when the participant will be ejected. + attr_accessor :will_eject_at + + attr_accessor :permissions + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'joined_at' => :'joined_at', + :'duration' => :'duration', + :'session_id' => :'session_id', + :'room' => :'room', + :'user_id' => :'user_id', + :'user_name' => :'user_name', + :'owner' => :'owner', + :'will_eject_at' => :'will_eject_at', + :'permissions' => :'permissions' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'joined_at' => :'Float', + :'duration' => :'Float', + :'session_id' => :'String', + :'room' => :'String', + :'user_id' => :'String', + :'user_name' => :'String', + :'owner' => :'Boolean', + :'will_eject_at' => :'Float', + :'permissions' => :'ParticipantJoinedPayloadPermissions' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::ParticipantLeftPayload` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::ParticipantLeftPayload`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'joined_at') + self.joined_at = attributes[:'joined_at'] + end + + if attributes.key?(:'duration') + self.duration = attributes[:'duration'] + end + + if attributes.key?(:'session_id') + self.session_id = attributes[:'session_id'] + end + + if attributes.key?(:'room') + self.room = attributes[:'room'] + end + + if attributes.key?(:'user_id') + self.user_id = attributes[:'user_id'] + end + + if attributes.key?(:'user_name') + self.user_name = attributes[:'user_name'] + end + + if attributes.key?(:'owner') + self.owner = attributes[:'owner'] + end + + if attributes.key?(:'will_eject_at') + self.will_eject_at = attributes[:'will_eject_at'] + end + + if attributes.key?(:'permissions') + self.permissions = attributes[:'permissions'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + joined_at == o.joined_at && + duration == o.duration && + session_id == o.session_id && + room == o.room && + user_id == o.user_id && + user_name == o.user_name && + owner == o.owner && + will_eject_at == o.will_eject_at && + permissions == o.permissions + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [joined_at, duration, session_id, room, user_id, user_name, owner, will_eject_at, permissions].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/permissions.rb b/lib/daily-ruby/models/permissions.rb index 9955014..97dff68 100644 --- a/lib/daily-ruby/models/permissions.rb +++ b/lib/daily-ruby/models/permissions.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/permissions_can_admin.rb b/lib/daily-ruby/models/permissions_can_admin.rb index c6370af..c9af01b 100644 --- a/lib/daily-ruby/models/permissions_can_admin.rb +++ b/lib/daily-ruby/models/permissions_can_admin.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/permissions_can_send.rb b/lib/daily-ruby/models/permissions_can_send.rb index 3785b2d..71c0721 100644 --- a/lib/daily-ruby/models/permissions_can_send.rb +++ b/lib/daily-ruby/models/permissions_can_send.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/pin_dialin_inner.rb b/lib/daily-ruby/models/pin_dialin_inner.rb new file mode 100644 index 0000000..e90e6a1 --- /dev/null +++ b/lib/daily-ruby/models/pin_dialin_inner.rb @@ -0,0 +1,234 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + class PinDialinInner + # Associate a purchased phone number to the dialin with PIN workflow. + attr_accessor :phone_number + + # An identifier or name to associate to the workflow. + attr_accessor :name_prefix + + attr_accessor :ivr_greeting + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'phone_number' => :'phone_number', + :'name_prefix' => :'name_prefix', + :'ivr_greeting' => :'ivr_greeting' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'phone_number' => :'String', + :'name_prefix' => :'String', + :'ivr_greeting' => :'PinDialinInnerIvrGreeting' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::PinDialinInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::PinDialinInner`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'phone_number') + self.phone_number = attributes[:'phone_number'] + end + + if attributes.key?(:'name_prefix') + self.name_prefix = attributes[:'name_prefix'] + end + + if attributes.key?(:'ivr_greeting') + self.ivr_greeting = attributes[:'ivr_greeting'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + phone_number == o.phone_number && + name_prefix == o.name_prefix && + ivr_greeting == o.ivr_greeting + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [phone_number, name_prefix, ivr_greeting].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/pin_dialin_inner_ivr_greeting.rb b/lib/daily-ruby/models/pin_dialin_inner_ivr_greeting.rb new file mode 100644 index 0000000..b88a080 --- /dev/null +++ b/lib/daily-ruby/models/pin_dialin_inner_ivr_greeting.rb @@ -0,0 +1,215 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + class PinDialinInnerIvrGreeting + # message to \"Say\" when user call the phone_number. + attr_accessor :message + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'message' => :'message' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'message' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::PinDialinInnerIvrGreeting` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::PinDialinInnerIvrGreeting`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'message') + self.message = attributes[:'message'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + message == o.message + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [message].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/pinless_call_update_request.rb b/lib/daily-ruby/models/pinless_call_update_request.rb new file mode 100644 index 0000000..590aa27 --- /dev/null +++ b/lib/daily-ruby/models/pinless_call_update_request.rb @@ -0,0 +1,235 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + class PinlessCallUpdateRequest + # CallId is represented by UUID and represents the sessionId in the SIP Network. + attr_accessor :call_id + + # Call Domain is represented by UUID and represents your Daily Domain on the SIP Network. + attr_accessor :call_domain + + # This SIP URI is associated to the Daily Room that you want to forward the SIP Interconnect call to. + attr_accessor :sip_uri + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'call_id' => :'callId', + :'call_domain' => :'callDomain', + :'sip_uri' => :'sipUri' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'call_id' => :'String', + :'call_domain' => :'String', + :'sip_uri' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::PinlessCallUpdateRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::PinlessCallUpdateRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'call_id') + self.call_id = attributes[:'call_id'] + end + + if attributes.key?(:'call_domain') + self.call_domain = attributes[:'call_domain'] + end + + if attributes.key?(:'sip_uri') + self.sip_uri = attributes[:'sip_uri'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + call_id == o.call_id && + call_domain == o.call_domain && + sip_uri == o.sip_uri + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [call_id, call_domain, sip_uri].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/pinless_dialin_inner.rb b/lib/daily-ruby/models/pinless_dialin_inner.rb new file mode 100644 index 0000000..177fb44 --- /dev/null +++ b/lib/daily-ruby/models/pinless_dialin_inner.rb @@ -0,0 +1,245 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + class PinlessDialinInner + # Associate a purchased phone number to the Pinless dialin workflow. + attr_accessor :phone_number + + # The webhook URL to trigger when an incoming call arrives. Typically, you will need to spin-up a Daily meeting room and patch the incoming call to the room. Read more in the [pinless/sip interconnect guide](/guides/products/dial-in-dial-out/dialin-pinless#incoming-call-triggers-the-webhook). + attr_accessor :room_creation_api + + # An identifier or name to associate to the workflow. + attr_accessor :name_prefix + + # This is not a settable value, Daily returns the `sip_uri` in cases where you want to directly send the call to the SIP URI instead of the phone_number. If you dial in to the `phone_number` or this `sip_uri`, the [webhook will be triggered](/guides/products/dial-in-dial-out/dialin-pinless#incoming-call-triggers-the-webhook). + attr_accessor :sip_uri + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'phone_number' => :'phone_number', + :'room_creation_api' => :'room_creation_api', + :'name_prefix' => :'name_prefix', + :'sip_uri' => :'sip_uri' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'phone_number' => :'String', + :'room_creation_api' => :'String', + :'name_prefix' => :'String', + :'sip_uri' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::PinlessDialinInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::PinlessDialinInner`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'phone_number') + self.phone_number = attributes[:'phone_number'] + end + + if attributes.key?(:'room_creation_api') + self.room_creation_api = attributes[:'room_creation_api'] + end + + if attributes.key?(:'name_prefix') + self.name_prefix = attributes[:'name_prefix'] + end + + if attributes.key?(:'sip_uri') + self.sip_uri = attributes[:'sip_uri'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + phone_number == o.phone_number && + room_creation_api == o.room_creation_api && + name_prefix == o.name_prefix && + sip_uri == o.sip_uri + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [phone_number, room_creation_api, name_prefix, sip_uri].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/post_webhook.rb b/lib/daily-ruby/models/post_webhook.rb index c4e1def..1431593 100644 --- a/lib/daily-ruby/models/post_webhook.rb +++ b/lib/daily-ruby/models/post_webhook.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -21,9 +21,15 @@ class PostWebhook # The basic auth credentials that will be used to POST to the webhook URL. attr_accessor :basic_auth + # The retry configuration for this webhook endpoint to use. The default is circuit-breaker. + attr_accessor :retry_type + # The set of event types this webhook is subscribed to. attr_accessor :event_types + # A secret that can be used to verify the signature of the webhook. If not provided, an hmac will be provisioned for you and returned. + attr_accessor :hmac + class EnumAttributeValidator attr_reader :datatype attr_reader :allowable_values @@ -51,7 +57,9 @@ def self.attribute_map { :'url' => :'url', :'basic_auth' => :'basicAuth', - :'event_types' => :'eventTypes' + :'retry_type' => :'retryType', + :'event_types' => :'eventTypes', + :'hmac' => :'hmac' } end @@ -65,7 +73,9 @@ def self.openapi_types { :'url' => :'String', :'basic_auth' => :'String', - :'event_types' => :'Array' + :'retry_type' => :'String', + :'event_types' => :'Array', + :'hmac' => :'String' } end @@ -98,11 +108,19 @@ def initialize(attributes = {}) self.basic_auth = attributes[:'basic_auth'] end + if attributes.key?(:'retry_type') + self.retry_type = attributes[:'retry_type'] + end + if attributes.key?(:'event_types') if (value = attributes[:'event_types']).is_a?(Array) self.event_types = value end end + + if attributes.key?(:'hmac') + self.hmac = attributes[:'hmac'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -117,9 +135,21 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' + retry_type_validator = EnumAttributeValidator.new('String', ["circuit-breaker", "exponential", "unknown_default_open_api"]) + return false unless retry_type_validator.valid?(@retry_type) true end + # Custom attribute writer method checking allowed values (enum). + # @param [Object] retry_type Object to be assigned + def retry_type=(retry_type) + validator = EnumAttributeValidator.new('String', ["circuit-breaker", "exponential", "unknown_default_open_api"]) + unless validator.valid?(retry_type) + fail ArgumentError, "invalid value for \"retry_type\", must be one of #{validator.allowable_values}." + end + @retry_type = retry_type + end + # Checks equality by comparing each attribute. # @param [Object] Object to be compared def ==(o) @@ -127,7 +157,9 @@ def ==(o) self.class == o.class && url == o.url && basic_auth == o.basic_auth && - event_types == o.event_types + retry_type == o.retry_type && + event_types == o.event_types && + hmac == o.hmac end # @see the `==` method @@ -139,7 +171,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [url, basic_auth, event_types].hash + [url, basic_auth, retry_type, event_types, hmac].hash end # Builds the object from hash diff --git a/lib/daily-ruby/models/properties.rb b/lib/daily-ruby/models/properties.rb index bb79786..e1e95b2 100644 --- a/lib/daily-ruby/models/properties.rb +++ b/lib/daily-ruby/models/properties.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -36,7 +36,7 @@ class Properties # The user's name in this meeting. The name displays in the user interface when the user is muted or has turned off the camera, and in the chat window. This username is also saved in the meeting events log (meeting events are retrievable using the [analytics](/reference/rest-api/meetings) API methods.) attr_accessor :user_name - # The user's ID for this meeting session. This ID is retrievable using the [meetings](/reference/rest-api/meetings) API. You can use `user_id` to map between your user database and meeting events/attendance. *The ID does not display in our standard in-call UI during the call. _max length 36 chars_ + # The user's ID for this meeting session. During a session, this ID is retrievable in the [`participants()`](/reference/daily-js/instance-methods/participants) method and [related participant events](/reference/daily-js/events/participant-events). Either during or after a session concludes, this ID is retrievable using the [/meetings](/reference/rest-api/meetings) REST API endpoint. You can use `user_id` to map between your user database and meeting events/attendance. For domains configured for [HIPAA compliance](/guides/privacy-and-security/hipaa), if the `user_id` value is a [UUID](https://www.ietf.org/rfc/rfc4122.txt) (for example, `f81d4fae-7dec-11d0-a765-00a0c91e6bf6`), then the UUID will be returned for the participant in the [`/meetings`](/reference/rest-api/meetings) REST API endpoint. Otherwise, the string `hipaa` will be returned in order to remove potential PHI. During a session, the provided `user_id` will always be returned through the `participants()` method and related events, regardless of the `user_id` value. The `user_id` has a limit of 36 characters. attr_accessor :user_id # Sets whether or not the user is allowed to screen share. This setting applies for the duration of the meeting. If you're looking to dynamically control whether a user can screen share during a meeting, then use the [`permissions`](/reference/rest-api/meeting-tokens/config#permissions) token property. @@ -54,6 +54,9 @@ class Properties # Determines whether the participant using the meeting token enters a waiting room with a camera, mic, and browser check before joining a call. If this property is also set in the room or domain's configuration, the meeting token's configuration will take priority. ⚠️ You must be using [Daily Prebuilt](https://daily.co/prebuilt) to use `enable_prejoin_ui`. attr_accessor :enable_prejoin_ui + # Sets whether the participant sees a closed captions button in their Daily Prebuilt call tray. When the closed caption button is clicked, closed captions are displayed locally. When set to `true`, a closed captions button appears in the call tray. When set to `false`, the closed captions button is hidden from the call tray. Note: Transcription must be enabled for the room or users must have permission to start transcription for this feature to be enabled. View the [transcription guide](/guides/products/transcription) for more details. ⚠️ You must be using [Daily Prebuilt](https://daily.co/blog/daily-prebuilt-video-chat) to use `enable_live_captions_ui`. + attr_accessor :enable_live_captions_ui + # Determines whether the participant using the meeting token can see the Recording button in Daily Prebuilt's UI, which can be found in the video call tray. If this value is `false`, the button will not be included in the tray. If it's `true`, the Recording button will be displayed. This option is useful when only specific call participants should have recording permissions. ⚠️ You must be using [Daily Prebuilt](https://daily.co/prebuilt) to use `enable_recording_ui`. attr_accessor :enable_recording_ui @@ -118,6 +121,7 @@ def self.attribute_map :'start_audio_off' => :'start_audio_off', :'enable_recording' => :'enable_recording', :'enable_prejoin_ui' => :'enable_prejoin_ui', + :'enable_live_captions_ui' => :'enable_live_captions_ui', :'enable_recording_ui' => :'enable_recording_ui', :'enable_terse_logging' => :'enable_terse_logging', :'start_cloud_recording' => :'start_cloud_recording', @@ -151,6 +155,7 @@ def self.openapi_types :'start_audio_off' => :'Boolean', :'enable_recording' => :'String', :'enable_prejoin_ui' => :'Boolean', + :'enable_live_captions_ui' => :'Boolean', :'enable_recording_ui' => :'Boolean', :'enable_terse_logging' => :'Boolean', :'start_cloud_recording' => :'Boolean', @@ -246,6 +251,10 @@ def initialize(attributes = {}) self.enable_prejoin_ui = attributes[:'enable_prejoin_ui'] end + if attributes.key?(:'enable_live_captions_ui') + self.enable_live_captions_ui = attributes[:'enable_live_captions_ui'] + end + if attributes.key?(:'enable_recording_ui') self.enable_recording_ui = attributes[:'enable_recording_ui'] end @@ -305,9 +314,9 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - enable_recording_validator = EnumAttributeValidator.new('String', ["cloud", "local", "raw-tracks"]) + enable_recording_validator = EnumAttributeValidator.new('String', ["cloud", "local", "raw-tracks", "unknown_default_open_api"]) return false unless enable_recording_validator.valid?(@enable_recording) - lang_validator = EnumAttributeValidator.new('String', ["de", "en", "es", "fi", "fr", "it", "jp", "ka", "nl", "no", "pt", "pt-BR", "pl", "ru", "sv", "tr", "user"]) + lang_validator = EnumAttributeValidator.new('String', ["da", "de", "en", "es", "fi", "fr", "it", "jp", "ka", "nl", "no", "pt", "pt-BR", "pl", "ru", "sv", "tr", "user", "unknown_default_open_api"]) return false unless lang_validator.valid?(@lang) true end @@ -315,7 +324,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] enable_recording Object to be assigned def enable_recording=(enable_recording) - validator = EnumAttributeValidator.new('String', ["cloud", "local", "raw-tracks"]) + validator = EnumAttributeValidator.new('String', ["cloud", "local", "raw-tracks", "unknown_default_open_api"]) unless validator.valid?(enable_recording) fail ArgumentError, "invalid value for \"enable_recording\", must be one of #{validator.allowable_values}." end @@ -325,7 +334,7 @@ def enable_recording=(enable_recording) # Custom attribute writer method checking allowed values (enum). # @param [Object] lang Object to be assigned def lang=(lang) - validator = EnumAttributeValidator.new('String', ["de", "en", "es", "fi", "fr", "it", "jp", "ka", "nl", "no", "pt", "pt-BR", "pl", "ru", "sv", "tr", "user"]) + validator = EnumAttributeValidator.new('String', ["da", "de", "en", "es", "fi", "fr", "it", "jp", "ka", "nl", "no", "pt", "pt-BR", "pl", "ru", "sv", "tr", "user", "unknown_default_open_api"]) unless validator.valid?(lang) fail ArgumentError, "invalid value for \"lang\", must be one of #{validator.allowable_values}." end @@ -350,6 +359,7 @@ def ==(o) start_audio_off == o.start_audio_off && enable_recording == o.enable_recording && enable_prejoin_ui == o.enable_prejoin_ui && + enable_live_captions_ui == o.enable_live_captions_ui && enable_recording_ui == o.enable_recording_ui && enable_terse_logging == o.enable_terse_logging && start_cloud_recording == o.start_cloud_recording && @@ -370,7 +380,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [room_name, eject_at_token_exp, eject_after_elapsed, nbf, exp, is_owner, user_name, user_id, enable_screenshare, start_video_off, start_audio_off, enable_recording, enable_prejoin_ui, enable_recording_ui, enable_terse_logging, start_cloud_recording, start_cloud_recording_opts, auto_start_transcription, close_tab_on_exit, redirect_on_meeting_exit, lang, permissions].hash + [room_name, eject_at_token_exp, eject_after_elapsed, nbf, exp, is_owner, user_name, user_id, enable_screenshare, start_video_off, start_audio_off, enable_recording, enable_prejoin_ui, enable_live_captions_ui, enable_recording_ui, enable_terse_logging, start_cloud_recording, start_cloud_recording_opts, auto_start_transcription, close_tab_on_exit, redirect_on_meeting_exit, lang, permissions].hash end # Builds the object from hash diff --git a/lib/daily-ruby/models/recording_error.rb b/lib/daily-ruby/models/recording_error.rb index 7d2015a..25ceedc 100644 --- a/lib/daily-ruby/models/recording_error.rb +++ b/lib/daily-ruby/models/recording_error.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -68,7 +68,7 @@ def self.openapi_types { :'version' => :'String', :'type' => :'String', - :'event_ts' => :'Integer', + :'event_ts' => :'Float', :'payload' => :'RecordingErrorPayload' } end @@ -123,7 +123,7 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - type_validator = EnumAttributeValidator.new('String', ["recording.error"]) + type_validator = EnumAttributeValidator.new('String', ["recording.error", "unknown_default_open_api"]) return false unless type_validator.valid?(@type) true end @@ -131,7 +131,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] type Object to be assigned def type=(type) - validator = EnumAttributeValidator.new('String', ["recording.error"]) + validator = EnumAttributeValidator.new('String', ["recording.error", "unknown_default_open_api"]) unless validator.valid?(type) fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/recording_error_payload.rb b/lib/daily-ruby/models/recording_error_payload.rb index 31bbd62..afda987 100644 --- a/lib/daily-ruby/models/recording_error_payload.rb +++ b/lib/daily-ruby/models/recording_error_payload.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -134,7 +134,7 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - action_validator = EnumAttributeValidator.new('String', ["clourd-recording-err"]) + action_validator = EnumAttributeValidator.new('String', ["clourd-recording-err", "unknown_default_open_api"]) return false unless action_validator.valid?(@action) true end @@ -142,7 +142,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] action Object to be assigned def action=(action) - validator = EnumAttributeValidator.new('String', ["clourd-recording-err"]) + validator = EnumAttributeValidator.new('String', ["clourd-recording-err", "unknown_default_open_api"]) unless validator.valid?(action) fail ArgumentError, "invalid value for \"action\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/recording_ready_to_download.rb b/lib/daily-ruby/models/recording_ready_to_download.rb index d42f331..071ceb8 100644 --- a/lib/daily-ruby/models/recording_ready_to_download.rb +++ b/lib/daily-ruby/models/recording_ready_to_download.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -68,7 +68,7 @@ def self.openapi_types { :'version' => :'String', :'type' => :'String', - :'event_ts' => :'Integer', + :'event_ts' => :'Float', :'payload' => :'RecordingReadyToDownloadPayload' } end @@ -123,7 +123,7 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - type_validator = EnumAttributeValidator.new('String', ["recording.ready-to-download"]) + type_validator = EnumAttributeValidator.new('String', ["recording.ready-to-download", "unknown_default_open_api"]) return false unless type_validator.valid?(@type) true end @@ -131,7 +131,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] type Object to be assigned def type=(type) - validator = EnumAttributeValidator.new('String', ["recording.ready-to-download"]) + validator = EnumAttributeValidator.new('String', ["recording.ready-to-download", "unknown_default_open_api"]) unless validator.valid?(type) fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/recording_ready_to_download_payload.rb b/lib/daily-ruby/models/recording_ready_to_download_payload.rb index fc446d6..ce72e40 100644 --- a/lib/daily-ruby/models/recording_ready_to_download_payload.rb +++ b/lib/daily-ruby/models/recording_ready_to_download_payload.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -172,9 +172,9 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - type_validator = EnumAttributeValidator.new('String', ["cloud", "raw-tracks"]) + type_validator = EnumAttributeValidator.new('String', ["cloud", "raw-tracks", "unknown_default_open_api"]) return false unless type_validator.valid?(@type) - status_validator = EnumAttributeValidator.new('String', ["finished"]) + status_validator = EnumAttributeValidator.new('String', ["finished", "unknown_default_open_api"]) return false unless status_validator.valid?(@status) true end @@ -182,7 +182,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] type Object to be assigned def type=(type) - validator = EnumAttributeValidator.new('String', ["cloud", "raw-tracks"]) + validator = EnumAttributeValidator.new('String', ["cloud", "raw-tracks", "unknown_default_open_api"]) unless validator.valid?(type) fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." end @@ -192,7 +192,7 @@ def type=(type) # Custom attribute writer method checking allowed values (enum). # @param [Object] status Object to be assigned def status=(status) - validator = EnumAttributeValidator.new('String', ["finished"]) + validator = EnumAttributeValidator.new('String', ["finished", "unknown_default_open_api"]) unless validator.valid?(status) fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/recording_started.rb b/lib/daily-ruby/models/recording_started.rb index 95f45ca..ce01873 100644 --- a/lib/daily-ruby/models/recording_started.rb +++ b/lib/daily-ruby/models/recording_started.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -68,7 +68,7 @@ def self.openapi_types { :'version' => :'String', :'type' => :'String', - :'event_ts' => :'Integer', + :'event_ts' => :'Float', :'payload' => :'RecordingStartedPayload' } end @@ -123,7 +123,7 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - type_validator = EnumAttributeValidator.new('String', ["recording.started"]) + type_validator = EnumAttributeValidator.new('String', ["recording.started", "unknown_default_open_api"]) return false unless type_validator.valid?(@type) true end @@ -131,7 +131,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] type Object to be assigned def type=(type) - validator = EnumAttributeValidator.new('String', ["recording.started"]) + validator = EnumAttributeValidator.new('String', ["recording.started", "unknown_default_open_api"]) unless validator.valid?(type) fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/recording_started_payload.rb b/lib/daily-ruby/models/recording_started_payload.rb index 6a7d54f..e9548f3 100644 --- a/lib/daily-ruby/models/recording_started_payload.rb +++ b/lib/daily-ruby/models/recording_started_payload.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -142,7 +142,7 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - action_validator = EnumAttributeValidator.new('String', ["start-cloud-recording"]) + action_validator = EnumAttributeValidator.new('String', ["start-cloud-recording", "unknown_default_open_api"]) return false unless action_validator.valid?(@action) true end @@ -150,7 +150,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] action Object to be assigned def action=(action) - validator = EnumAttributeValidator.new('String', ["start-cloud-recording"]) + validator = EnumAttributeValidator.new('String', ["start-cloud-recording", "unknown_default_open_api"]) unless validator.valid?(action) fail ArgumentError, "invalid value for \"action\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/recording_streaming_options.rb b/lib/daily-ruby/models/recording_streaming_options.rb index efcb021..ed9a0e4 100644 --- a/lib/daily-ruby/models/recording_streaming_options.rb +++ b/lib/daily-ruby/models/recording_streaming_options.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -188,7 +188,7 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - type_validator = EnumAttributeValidator.new('String', ["cloud", "raw-tracks"]) + type_validator = EnumAttributeValidator.new('String', ["cloud", "raw-tracks", "unknown_default_open_api"]) return false unless type_validator.valid?(@type) true end @@ -196,7 +196,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] type Object to be assigned def type=(type) - validator = EnumAttributeValidator.new('String', ["cloud", "raw-tracks"]) + validator = EnumAttributeValidator.new('String', ["cloud", "raw-tracks", "unknown_default_open_api"]) unless validator.valid?(type) fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/recordings_bucket.rb b/lib/daily-ruby/models/recordings_bucket.rb index 0e16b6a..d5c14b6 100644 --- a/lib/daily-ruby/models/recordings_bucket.rb +++ b/lib/daily-ruby/models/recordings_bucket.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/room_dial_out_send_dtmf_request.rb b/lib/daily-ruby/models/room_dial_out_send_dtmf_request.rb new file mode 100644 index 0000000..a503945 --- /dev/null +++ b/lib/daily-ruby/models/room_dial_out_send_dtmf_request.rb @@ -0,0 +1,224 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # + class RoomDialOutSendDTMFRequest + attr_accessor :session_id + + attr_accessor :tones + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'session_id' => :'sessionId', + :'tones' => :'tones' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'session_id' => :'String', + :'tones' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::RoomDialOutSendDTMFRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::RoomDialOutSendDTMFRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'session_id') + self.session_id = attributes[:'session_id'] + end + + if attributes.key?(:'tones') + self.tones = attributes[:'tones'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + session_id == o.session_id && + tones == o.tones + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [session_id, tones].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/room_dial_out_stop_request.rb b/lib/daily-ruby/models/room_dial_out_stop_request.rb new file mode 100644 index 0000000..45622ec --- /dev/null +++ b/lib/daily-ruby/models/room_dial_out_stop_request.rb @@ -0,0 +1,215 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # + class RoomDialOutStopRequest + attr_accessor :session_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'session_id' => :'sessionId' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'session_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::RoomDialOutStopRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::RoomDialOutStopRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'session_id') + self.session_id = attributes[:'session_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + session_id == o.session_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [session_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/room_properties.rb b/lib/daily-ruby/models/room_properties.rb index 5c0fc61..04c944e 100644 --- a/lib/daily-ruby/models/room_properties.rb +++ b/lib/daily-ruby/models/room_properties.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -39,6 +39,9 @@ class RoomProperties # Determines whether participants enter a waiting room with a camera, mic, and browser check before joining a call. ⚠️ You must be using [Daily Prebuilt](https://daily.co/prebuilt) to use `enable_prejoin_ui`. attr_accessor :enable_prejoin_ui + # Sets whether participants in a room see a closed captions button in their Daily Prebuilt call tray. When the closed caption button is clicked, closed captions are displayed locally. When set to `true`, a closed captions button appears in the call tray. When set to `false`, the closed captions button is hidden from the call tray. Note: Transcription must be enabled for the room or users must have permission to start transcription for this feature to be enabled. View the [transcription guide](/guides/products/transcription) for more details. ⚠️ You must be using [Daily Prebuilt](https://daily.co/blog/daily-prebuilt-video-chat) to use `enable_live_captions_ui`. + attr_accessor :enable_live_captions_ui + # Determines whether the network button, and the network panel it reveals on click, appears in this room. ⚠️ You must be using [Daily Prebuilt](https://daily.co/prebuilt) to use `enable_network_ui`. attr_accessor :enable_network_ui @@ -60,6 +63,9 @@ class RoomProperties # This property is one of [multiple ways to add chat to Daily video calls](https://www.daily.co/blog/three-ways-to-add-chat-to-your-video-calls-with-the-daily-api/). attr_accessor :enable_chat + # When enabled, newly joined participants in Prebuilt calls will request chat history from remote peers, in order to view chat messages from before they joined. + attr_accessor :enable_shared_chat_history + # Disable the default behavior of automatically turning on a participant's camera on a direct `join()` (i.e. without `startCamera()` first). attr_accessor :start_video_off @@ -87,16 +93,25 @@ class RoomProperties # Configures a room to use multiple SFUs for a call's media. This feature enables calls to scale to large sizes and to reduce latency between participants. It is recommended specifically for interactive live streaming. See our [guide for interactive live streaming](/guides/scaling-calls/interactive-live-streaming-rtmp-output#daily-prebuilt-configurations-to-support-100-000-participants) for additional instruction. attr_accessor :enable_mesh_sfu - # Dictates the participant count after which room topology automatically switches from Peer-to-Peer (P2P) to Selective Forwarding Unit (SFU) mode, or vice versa. For example, if `sfu_switchover` is set to `3` and the current network topology is P2P, the topology will switch to SFU mode when the _fourth_ participant joins the call. If the current topology is SFU, it will switch to P2P mode when the participant count decreases from `3` to `2`. We recommend specifying an integer value for this property except for cases where you would like the room to switch to SFU mode as soon as the first participant joins. In this case, set `sfu_switchover` to `0.5`. See our [guide about video call architecture](/guides/architecture-and-monitoring/intro-to-video-arch#the-architecture-of-a-room-p2p-vs-sfu-calls) for additional information. + # Dictates the participant count after which room topology automatically switches from Peer-to-Peer (P2P) to Selective Forwarding Unit (SFU) mode, or vice versa. For example, if `sfu_switchover` is set to `2` and the current network topology is P2P, the topology will switch to SFU mode when the _third_ participant joins the call. If the current topology is SFU, it will switch to P2P mode when the participant count decreases from `2` to `1`. We recommend specifying an integer value for this property except for cases where you would like the room to switch to SFU mode as soon as the first participant joins. In this case, set `sfu_switchover` to `0.5`. See our [guide about video call architecture](/guides/architecture-and-monitoring/intro-to-video-arch#the-architecture-of-a-room-p2p-vs-sfu-calls) for additional information. attr_accessor :sfu_switchover + # Configures a domain or room to use [Daily Adaptive Bitrate](/guides/building-additional-features/daily-adaptive-bitrate). When enabled, along with configuring the client to [`allowAdaptiveLayers`](/reference/daily-js/instance-methods/update-send-settings#sendsettings), the Daily client will continually adapt send settings to the current network conditions. `allowAdaptiveLayers` is `true` by default; if you haven't modified that setting, then setting `enable_adaptive_simulcast` to `true` will enable Daily Adaptive Bitrate for 1:1 calls. + attr_accessor :enable_adaptive_simulcast + + # Configures a domain or room to use [Daily Adaptive Bitrate](/guides/building-additional-features/daily-adaptive-bitrate). When enabled, along with configuring the client to [`allowAdaptiveLayers`](/reference/daily-js/instance-methods/update-send-settings#sendsettings), the Daily client will continually adapt send settings to the current network conditions. `allowAdaptiveLayers` is `true` by default; if you haven't modified that setting, then setting `enable_multiparty_adaptive_simulcast` to `true` will enable Daily Adaptive Bitrate for multi-party calls. To use this feature, `enable_adaptive_simulcast` must also be set to `true`. + attr_accessor :enable_multiparty_adaptive_simulcast + + # Configures a domain or room to disallow multiple participants from having the same `user_id`. This feature can be enabled to prevent users from \"sharing\" meeting tokens. When enabled, a participant joining or reconnecting to a meeting will cause existing participants with the same user_id to be ejected. + attr_accessor :enforce_unique_user_ids + # Enables Daily Prebuilt to support group calls of up to 1,000 participants and [owner only broadcast](/reference/rest-api/rooms/config#owner_only_broadcast) calls of up to 100K participants. When set to true, Daily Prebuilt will: - Automatically mute the local user on joining - Update grid view to show a maximum of 12 users in the grid at a time - Allow only 16 users to be unmuted at the same time. When more than 16 users are unmuted, the oldest active speaker will be automatically muted. See our [guide on large real-time calls](/guides/scaling-calls/large-real-time-calls) for additional instruction. ⚠️ This flag only applies to Daily Prebuilt. It has no effect when building custom video applications with the Daily call object. attr_accessor :experimental_optimize_large_calls # The default language of the [Daily prebuilt video call UI](/guides/products/prebuilt#daily-prebuilt-ui), for this room. Setting the language at the room level will override any domain-level language settings you have. Read more about [changing prebuilt UI language settings](https://help.daily.co/en/articles/4579930-changing-the-language-setting-of-the-prebuilt-ui). `*` Norwegian `\"no\"` and Russian `\"ru\"` are only available in the new Daily Prebuilt. attr_accessor :lang - # Sets a URL that will receive a webhook when a user joins a room. Default is NULL. Character limit for webhook URL is 255. More resources: - [Configuring a webhook to send notifications when someone joins your video calls](https://www.daily.co/blog/configure-a-webhook-to-send-notifications-when-someone-joins-your-video-calls/) + # Sets a URL that will receive a webhook when a user joins a room. Default is NULL. Character limit for webhook URL is 255. ⚠️ In place of the `meeting_join_hook`, we recommend setting up a [webhook](/reference/rest-api/webhooks) and listening for the [`participant.joined`](/reference/rest-api/webhooks/events/participant-joined) event. attr_accessor :meeting_join_hook # Daily uses signaling servers to manage all of the participants in a given call session. In an SFU/server mode call, the server will send and receive all audio and video from each participant. In a peer-to-peer call, each participant sends media directly to and from each other peer, but a signaling server still manages call state. Daily runs servers in several different AWS regions to minimize latency for users around the world. The job of 'picking' a call server is handled when the first participant joins a room. The first participant's browser connects to a call server using Amazon's Route 53 DNS resolution, which chooses a server in the region closest to them. This isn't always optimal. For example, if one person joins in London, and then ten more people join from Cape Town, the call will still be hosted out of `eu-west-2` . The majority of the participants will have higher latency to the server than if one of them had joined first and the call was being hosted in `af-south-1`. In cases like this, you may want to configure your domain (or a specific room) to always choose a call server in a specific AWS region. Available regions: - `\"af-south-1\"` (Cape Town) - `\"ap-northeast-2\"` (Seoul) - `\"ap-southeast-1\"` (Singapore) - `\"ap-southeast-2\"` (Sydney) - `\"ap-south-1\"` (Mumbai) - `\"eu-central-1\"` (Frankfurt) - `\"eu-west-2\"` (London) - `\"sa-east-1\"` (São Paulo) - `\"us-east-1\"` (N. Virginia) - `\"us-west-2\"` (Oregon) @@ -162,6 +177,7 @@ def self.attribute_map :'enable_emoji_reactions' => :'enable_emoji_reactions', :'enable_hand_raising' => :'enable_hand_raising', :'enable_prejoin_ui' => :'enable_prejoin_ui', + :'enable_live_captions_ui' => :'enable_live_captions_ui', :'enable_network_ui' => :'enable_network_ui', :'enable_noise_cancellation_ui' => :'enable_noise_cancellation_ui', :'enable_breakout_rooms' => :'enable_breakout_rooms', @@ -169,6 +185,7 @@ def self.attribute_map :'enable_screenshare' => :'enable_screenshare', :'enable_video_processing_ui' => :'enable_video_processing_ui', :'enable_chat' => :'enable_chat', + :'enable_shared_chat_history' => :'enable_shared_chat_history', :'start_video_off' => :'start_video_off', :'start_audio_off' => :'start_audio_off', :'owner_only_broadcast' => :'owner_only_broadcast', @@ -179,6 +196,9 @@ def self.attribute_map :'enable_hidden_participants' => :'enable_hidden_participants', :'enable_mesh_sfu' => :'enable_mesh_sfu', :'sfu_switchover' => :'sfu_switchover', + :'enable_adaptive_simulcast' => :'enable_adaptive_simulcast', + :'enable_multiparty_adaptive_simulcast' => :'enable_multiparty_adaptive_simulcast', + :'enforce_unique_user_ids' => :'enforce_unique_user_ids', :'experimental_optimize_large_calls' => :'experimental_optimize_large_calls', :'lang' => :'lang', :'meeting_join_hook' => :'meeting_join_hook', @@ -212,6 +232,7 @@ def self.openapi_types :'enable_emoji_reactions' => :'Boolean', :'enable_hand_raising' => :'Boolean', :'enable_prejoin_ui' => :'Boolean', + :'enable_live_captions_ui' => :'Boolean', :'enable_network_ui' => :'Boolean', :'enable_noise_cancellation_ui' => :'Boolean', :'enable_breakout_rooms' => :'Boolean', @@ -219,6 +240,7 @@ def self.openapi_types :'enable_screenshare' => :'Boolean', :'enable_video_processing_ui' => :'Boolean', :'enable_chat' => :'Boolean', + :'enable_shared_chat_history' => :'Boolean', :'start_video_off' => :'Boolean', :'start_audio_off' => :'Boolean', :'owner_only_broadcast' => :'Boolean', @@ -229,6 +251,9 @@ def self.openapi_types :'enable_hidden_participants' => :'Boolean', :'enable_mesh_sfu' => :'Boolean', :'sfu_switchover' => :'Float', + :'enable_adaptive_simulcast' => :'Boolean', + :'enable_multiparty_adaptive_simulcast' => :'Boolean', + :'enforce_unique_user_ids' => :'Boolean', :'experimental_optimize_large_calls' => :'Boolean', :'lang' => :'String', :'meeting_join_hook' => :'String', @@ -301,6 +326,10 @@ def initialize(attributes = {}) self.enable_prejoin_ui = attributes[:'enable_prejoin_ui'] end + if attributes.key?(:'enable_live_captions_ui') + self.enable_live_captions_ui = attributes[:'enable_live_captions_ui'] + end + if attributes.key?(:'enable_network_ui') self.enable_network_ui = attributes[:'enable_network_ui'] end @@ -335,6 +364,12 @@ def initialize(attributes = {}) self.enable_chat = false end + if attributes.key?(:'enable_shared_chat_history') + self.enable_shared_chat_history = attributes[:'enable_shared_chat_history'] + else + self.enable_shared_chat_history = true + end + if attributes.key?(:'start_video_off') self.start_video_off = attributes[:'start_video_off'] else @@ -388,7 +423,25 @@ def initialize(attributes = {}) if attributes.key?(:'sfu_switchover') self.sfu_switchover = attributes[:'sfu_switchover'] else - self.sfu_switchover = 2 + self.sfu_switchover = 0.5 + end + + if attributes.key?(:'enable_adaptive_simulcast') + self.enable_adaptive_simulcast = attributes[:'enable_adaptive_simulcast'] + else + self.enable_adaptive_simulcast = true + end + + if attributes.key?(:'enable_multiparty_adaptive_simulcast') + self.enable_multiparty_adaptive_simulcast = attributes[:'enable_multiparty_adaptive_simulcast'] + else + self.enable_multiparty_adaptive_simulcast = false + end + + if attributes.key?(:'enforce_unique_user_ids') + self.enforce_unique_user_ids = attributes[:'enforce_unique_user_ids'] + else + self.enforce_unique_user_ids = false end if attributes.key?(:'experimental_optimize_large_calls') @@ -476,9 +529,9 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - enable_recording_validator = EnumAttributeValidator.new('String', ["cloud", "local", "raw-tracks", ""]) + enable_recording_validator = EnumAttributeValidator.new('String', ["cloud", "local", "raw-tracks", "", "unknown_default_open_api"]) return false unless enable_recording_validator.valid?(@enable_recording) - lang_validator = EnumAttributeValidator.new('String', ["de", "en", "es", "fi", "fr", "it", "jp", "ka", "nl", "no", "pt", "pt-BR", "pl", "ru", "sv", "tr", "user"]) + lang_validator = EnumAttributeValidator.new('String', ["da", "de", "en", "es", "fi", "fr", "it", "jp", "ka", "nl", "no", "pt", "pt-BR", "pl", "ru", "sv", "tr", "user", "unknown_default_open_api"]) return false unless lang_validator.valid?(@lang) true end @@ -486,7 +539,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] enable_recording Object to be assigned def enable_recording=(enable_recording) - validator = EnumAttributeValidator.new('String', ["cloud", "local", "raw-tracks", ""]) + validator = EnumAttributeValidator.new('String', ["cloud", "local", "raw-tracks", "", "unknown_default_open_api"]) unless validator.valid?(enable_recording) fail ArgumentError, "invalid value for \"enable_recording\", must be one of #{validator.allowable_values}." end @@ -496,7 +549,7 @@ def enable_recording=(enable_recording) # Custom attribute writer method checking allowed values (enum). # @param [Object] lang Object to be assigned def lang=(lang) - validator = EnumAttributeValidator.new('String', ["de", "en", "es", "fi", "fr", "it", "jp", "ka", "nl", "no", "pt", "pt-BR", "pl", "ru", "sv", "tr", "user"]) + validator = EnumAttributeValidator.new('String', ["da", "de", "en", "es", "fi", "fr", "it", "jp", "ka", "nl", "no", "pt", "pt-BR", "pl", "ru", "sv", "tr", "user", "unknown_default_open_api"]) unless validator.valid?(lang) fail ArgumentError, "invalid value for \"lang\", must be one of #{validator.allowable_values}." end @@ -516,6 +569,7 @@ def ==(o) enable_emoji_reactions == o.enable_emoji_reactions && enable_hand_raising == o.enable_hand_raising && enable_prejoin_ui == o.enable_prejoin_ui && + enable_live_captions_ui == o.enable_live_captions_ui && enable_network_ui == o.enable_network_ui && enable_noise_cancellation_ui == o.enable_noise_cancellation_ui && enable_breakout_rooms == o.enable_breakout_rooms && @@ -523,6 +577,7 @@ def ==(o) enable_screenshare == o.enable_screenshare && enable_video_processing_ui == o.enable_video_processing_ui && enable_chat == o.enable_chat && + enable_shared_chat_history == o.enable_shared_chat_history && start_video_off == o.start_video_off && start_audio_off == o.start_audio_off && owner_only_broadcast == o.owner_only_broadcast && @@ -533,6 +588,9 @@ def ==(o) enable_hidden_participants == o.enable_hidden_participants && enable_mesh_sfu == o.enable_mesh_sfu && sfu_switchover == o.sfu_switchover && + enable_adaptive_simulcast == o.enable_adaptive_simulcast && + enable_multiparty_adaptive_simulcast == o.enable_multiparty_adaptive_simulcast && + enforce_unique_user_ids == o.enforce_unique_user_ids && experimental_optimize_large_calls == o.experimental_optimize_large_calls && lang == o.lang && meeting_join_hook == o.meeting_join_hook && @@ -558,7 +616,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [nbf, exp, max_participants, enable_people_ui, enable_pip_ui, enable_emoji_reactions, enable_hand_raising, enable_prejoin_ui, enable_network_ui, enable_noise_cancellation_ui, enable_breakout_rooms, enable_knocking, enable_screenshare, enable_video_processing_ui, enable_chat, start_video_off, start_audio_off, owner_only_broadcast, enable_recording, eject_at_room_exp, eject_after_elapsed, enable_advanced_chat, enable_hidden_participants, enable_mesh_sfu, sfu_switchover, experimental_optimize_large_calls, lang, meeting_join_hook, geo, rtmp_geo, disable_rtmp_geo_fallback, recordings_bucket, enable_terse_logging, auto_transcription_settings, enable_transcription_storage, transcription_bucket, recordings_template, streaming_endpoints, permissions].hash + [nbf, exp, max_participants, enable_people_ui, enable_pip_ui, enable_emoji_reactions, enable_hand_raising, enable_prejoin_ui, enable_live_captions_ui, enable_network_ui, enable_noise_cancellation_ui, enable_breakout_rooms, enable_knocking, enable_screenshare, enable_video_processing_ui, enable_chat, enable_shared_chat_history, start_video_off, start_audio_off, owner_only_broadcast, enable_recording, eject_at_room_exp, eject_after_elapsed, enable_advanced_chat, enable_hidden_participants, enable_mesh_sfu, sfu_switchover, enable_adaptive_simulcast, enable_multiparty_adaptive_simulcast, enforce_unique_user_ids, experimental_optimize_large_calls, lang, meeting_join_hook, geo, rtmp_geo, disable_rtmp_geo_fallback, recordings_bucket, enable_terse_logging, auto_transcription_settings, enable_transcription_storage, transcription_bucket, recordings_template, streaming_endpoints, permissions].hash end # Builds the object from hash diff --git a/lib/daily-ruby/models/room_properties_streaming_endpoints_inner.rb b/lib/daily-ruby/models/room_properties_streaming_endpoints_inner.rb index cd7ee7d..e269b7d 100644 --- a/lib/daily-ruby/models/room_properties_streaming_endpoints_inner.rb +++ b/lib/daily-ruby/models/room_properties_streaming_endpoints_inner.rb @@ -1,267 +1,267 @@ -# =begin -# #Daily API - -# #The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything - -# The version of the OpenAPI document: 1.1.1 -# Contact: help@daily.co -# Generated by: https://openapi-generator.tech -# OpenAPI Generator version: 7.3.0 - -# =end - -# require 'date' -# require 'time' - -# module Daily -# class RoomPropertiesStreamingEndpointsInner -# # Used by the `startLiveStreaming()` API to reference which stream configuration to start. -# attr_accessor :name - -# # Whether the streaming endpoint is `rtmp` or `hls`. -# attr_accessor :type - -# # The `s3Key` path prefix for where to store the recordings. Therefore, the final final master.m3u8 path template is `///master.m3u8`, i.e. `hls_config['storage']['bucket_name']/hls_config['storage']['path']//master.m3u8`. -# attr_accessor :hls_config_storage_path - -# # `path_template` is made up of a replacement string with prefixes, suffixes, or both. `path_template` without replacement string is also valid. The currently supported replacements are: - `epoch_time`: The epoch time in seconds (optional) - `domain_name`: Your Daily domain (optional) - `room_name`: The name of the room which is getting recorded (optional) - `mtg_session_id`: The ID of the meeting session which is getting recorded (optional) - `instance_id`: The instance ID of the recording (optional) - `live_streaming_id`: The ID of the live streaming in our DB (optional) The restrictions for defining a recording template are as follows: - The maximum size of the template is 1024 characters - Each replacement parameter should be placed within a curly bracket (e.g., `{domain_name}`) - Only alphanumeric characters `(0-9, A-Z, a-z)` and `.`, `/`, `-`, `_` are valid within the template Examples - Example domain: \"myDomain\" - Example room: \"myRoom\" - example hls bucket: \"HLS_S3_BUCKET\" Example 1: - Template: `my-hls-{domain_name}-{epoch_time}` - Resulting path of master.m3u8: `s3://HLS_S3_BUCKET/my-hls-myDomain-1675842936274/master.m3u8` Example 2: - Template: `{room_name}/{instance_id}/` - Resulting path of master.m3u8: `myRoom/d529cd2f-fbcc-4fb7-b2c0-c4995b1162b6/master.m3u8` -# attr_accessor :hls_config_storage_path_template - -# # If `true`, the live stream will be saved as a recording after streaming has ended. If `false`, the stream is available only until the streaming is live. -# attr_accessor :hls_config_save_hls_recording - -# # An optional array of variants to generate for HLS. For most use cases this property can be omitted as Daily uses sensible defaults. The array defines the resolution, FPS, and bitrate for each variant. The following limitations apply: - There can be a maximum of one variant with 1080p resolution. All other variants must be less than or equal to 720p. - A maximum of four variants can be specified, other than iframe-only stream - We do not support iframe-only variant, at least one full-stream variant is required -# attr_accessor :hls_config_variants - -# # Attribute mapping from ruby-style variable name to JSON key. -# def self.attribute_map -# { -# :'name' => :'name', -# :'type' => :'type', -# :'hls_config_storage_path' => :'hls_config['storage']['path']', -# :'hls_config_storage_path_template' => :'hls_config['storage']['path_template']', -# :'hls_config_save_hls_recording' => :'hls_config['save_hls_recording']', -# :'hls_config_variants' => :'hls_config['variants']' -# } -# end - -# # Returns all the JSON keys this model knows about -# def self.acceptable_attributes -# attribute_map.values -# end - -# # Attribute type mapping. -# def self.openapi_types -# { -# :'name' => :'String', -# :'type' => :'String', -# :'hls_config_storage_path' => :'String', -# :'hls_config_storage_path_template' => :'String', -# :'hls_config_save_hls_recording' => :'Boolean', -# :'hls_config_variants' => :'Array' -# } -# end - -# # List of attributes with nullable: true -# def self.openapi_nullable -# Set.new([ -# ]) -# end - -# # Initializes the object -# # @param [Hash] attributes Model attributes in the form of hash -# def initialize(attributes = {}) -# if (!attributes.is_a?(Hash)) -# fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::RoomPropertiesStreamingEndpointsInner` initialize method" -# end - -# # check to see if the attribute exists and convert string to symbol for hash key -# attributes = attributes.each_with_object({}) { |(k, v), h| -# if (!self.class.attribute_map.key?(k.to_sym)) -# fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::RoomPropertiesStreamingEndpointsInner`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect -# end -# h[k.to_sym] = v -# } - -# if attributes.key?(:'name') -# self.name = attributes[:'name'] -# end - -# if attributes.key?(:'type') -# self.type = attributes[:'type'] -# end - -# if attributes.key?(:'hls_config_storage_path') -# self.hls_config_storage_path = attributes[:'hls_config_storage_path'] -# end - -# if attributes.key?(:'hls_config_storage_path_template') -# self.hls_config_storage_path_template = attributes[:'hls_config_storage_path_template'] -# end - -# if attributes.key?(:'hls_config_save_hls_recording') -# self.hls_config_save_hls_recording = attributes[:'hls_config_save_hls_recording'] -# end - -# if attributes.key?(:'hls_config_variants') -# if (value = attributes[:'hls_config_variants']).is_a?(Array) -# self.hls_config_variants = value -# end -# end -# end - -# # Show invalid properties with the reasons. Usually used together with valid? -# # @return Array for valid properties with the reasons -# def list_invalid_properties -# warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' -# invalid_properties = Array.new -# invalid_properties -# end - -# # Check to see if the all the properties in the model are valid -# # @return true if the model is valid -# def valid? -# warn '[DEPRECATED] the `valid?` method is obsolete' -# true -# end - -# # Checks equality by comparing each attribute. -# # @param [Object] Object to be compared -# def ==(o) -# return true if self.equal?(o) -# self.class == o.class && -# name == o.name && -# type == o.type && -# hls_config_storage_path == o.hls_config_storage_path && -# hls_config_storage_path_template == o.hls_config_storage_path_template && -# hls_config_save_hls_recording == o.hls_config_save_hls_recording && -# hls_config_variants == o.hls_config_variants -# end - -# # @see the `==` method -# # @param [Object] Object to be compared -# def eql?(o) -# self == o -# end - -# # Calculates hash code according to all attributes. -# # @return [Integer] Hash code -# def hash -# [name, type, hls_config_storage_path, hls_config_storage_path_template, hls_config_save_hls_recording, hls_config_variants].hash -# end - -# # Builds the object from hash -# # @param [Hash] attributes Model attributes in the form of hash -# # @return [Object] Returns the model itself -# def self.build_from_hash(attributes) -# return nil unless attributes.is_a?(Hash) -# attributes = attributes.transform_keys(&:to_sym) -# transformed_hash = {} -# openapi_types.each_pair do |key, type| -# if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? -# transformed_hash["#{key}"] = nil -# elsif type =~ /\AArray<(.*)>/i -# # check to ensure the input is an array given that the attribute -# # is documented as an array but the input is not -# if attributes[attribute_map[key]].is_a?(Array) -# transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } -# end -# elsif !attributes[attribute_map[key]].nil? -# transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) -# end -# end -# new(transformed_hash) -# end - -# # Deserializes the data based on type -# # @param string type Data type -# # @param string value Value to be deserialized -# # @return [Object] Deserialized data -# def self._deserialize(type, value) -# case type.to_sym -# when :Time -# Time.parse(value) -# when :Date -# Date.parse(value) -# when :String -# value.to_s -# when :Integer -# value.to_i -# when :Float -# value.to_f -# when :Boolean -# if value.to_s =~ /\A(true|t|yes|y|1)\z/i -# true -# else -# false -# end -# when :Object -# # generic object (usually a Hash), return directly -# value -# when /\AArray<(?.+)>\z/ -# inner_type = Regexp.last_match[:inner_type] -# value.map { |v| _deserialize(inner_type, v) } -# when /\AHash<(?.+?), (?.+)>\z/ -# k_type = Regexp.last_match[:k_type] -# v_type = Regexp.last_match[:v_type] -# {}.tap do |hash| -# value.each do |k, v| -# hash[_deserialize(k_type, k)] = _deserialize(v_type, v) -# end -# end -# else # model -# # models (e.g. Pet) or oneOf -# klass = Daily.const_get(type) -# klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) -# end -# end - -# # Returns the string representation of the object -# # @return [String] String presentation of the object -# def to_s -# to_hash.to_s -# end - -# # to_body is an alias to to_hash (backward compatibility) -# # @return [Hash] Returns the object in the form of hash -# def to_body -# to_hash -# end - -# # Returns the object in the form of hash -# # @return [Hash] Returns the object in the form of hash -# def to_hash -# hash = {} -# self.class.attribute_map.each_pair do |attr, param| -# value = self.send(attr) -# if value.nil? -# is_nullable = self.class.openapi_nullable.include?(attr) -# next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) -# end - -# hash[param] = _to_hash(value) -# end -# hash -# end - -# # Outputs non-array value in the form of hash -# # For object, use to_hash. Otherwise, just return the value -# # @param [Object] value Any valid value -# # @return [Hash] Returns the value in the form of hash -# def _to_hash(value) -# if value.is_a?(Array) -# value.compact.map { |v| _to_hash(v) } -# elsif value.is_a?(Hash) -# {}.tap do |hash| -# value.each { |k, v| hash[k] = _to_hash(v) } -# end -# elsif value.respond_to? :to_hash -# value.to_hash -# else -# value -# end -# end - -# end - -# end +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + class RoomPropertiesStreamingEndpointsInner + # Used by the `startLiveStreaming()` API to reference which stream configuration to start. + attr_accessor :name + + # Whether the streaming endpoint is `rtmp` or `hls`. + attr_accessor :type + + # The `s3Key` path prefix for where to store the recordings. Therefore, the final final master.m3u8 path template is `///master.m3u8`, i.e. `hls_config['storage']['bucket_name']/hls_config['storage']['path']//master.m3u8`. + attr_accessor :hls_config_storage_path + + # `path_template` is made up of a replacement string with prefixes, suffixes, or both. `path_template` without replacement string is also valid. The currently supported replacements are: - `epoch_time`: The epoch time in seconds (optional) - `domain_name`: Your Daily domain (optional) - `room_name`: The name of the room which is getting recorded (optional) - `mtg_session_id`: The ID of the meeting session which is getting recorded (optional) - `instance_id`: The instance ID of the recording (optional) - `live_streaming_id`: The ID of the live streaming in our DB (optional) The restrictions for defining a recording template are as follows: - The maximum size of the template is 1024 characters - Each replacement parameter should be placed within a curly bracket (e.g., `{domain_name}`) - Only alphanumeric characters `(0-9, A-Z, a-z)` and `.`, `/`, `-`, `_` are valid within the template Examples - Example domain: \"myDomain\" - Example room: \"myRoom\" - example hls bucket: \"HLS_S3_BUCKET\" Example 1: - Template: `my-hls-{domain_name}-{epoch_time}` - Resulting path of master.m3u8: `s3://HLS_S3_BUCKET/my-hls-myDomain-1675842936274/master.m3u8` Example 2: - Template: `{room_name}/{instance_id}/` - Resulting path of master.m3u8: `myRoom/d529cd2f-fbcc-4fb7-b2c0-c4995b1162b6/master.m3u8` + attr_accessor :hls_config_storage_path_template + + # If `true`, the live stream will be saved as a recording after streaming has ended. If `false`, the stream is available only until the streaming is live. + attr_accessor :hls_config_save_hls_recording + + # An optional array of variants to generate for HLS. For most use cases this property can be omitted as Daily uses sensible defaults. The array defines the resolution, FPS, and bitrate for each variant. The following limitations apply: - There can be a maximum of one variant with 1080p resolution. All other variants must be less than or equal to 720p. - A maximum of four variants can be specified, other than iframe-only stream - We do not support iframe-only variant, at least one full-stream variant is required + attr_accessor :hls_config_variants + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name', + :'type' => :'type', + :'hls_config_storage_path' => :hls_config['storage']['path'], + :'hls_config_storage_path_template' => :hls_config['storage']['path_template'], + :'hls_config_save_hls_recording' => :hls_config['save_hls_recording'], + :'hls_config_variants' => :hls_config['variants'] + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String', + :'type' => :'String', + :'hls_config_storage_path' => :'String', + :'hls_config_storage_path_template' => :'String', + :'hls_config_save_hls_recording' => :'Boolean', + :'hls_config_variants' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::RoomPropertiesStreamingEndpointsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::RoomPropertiesStreamingEndpointsInner`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'hls_config_storage_path') + self.hls_config_storage_path = attributes[:'hls_config_storage_path'] + end + + if attributes.key?(:'hls_config_storage_path_template') + self.hls_config_storage_path_template = attributes[:'hls_config_storage_path_template'] + end + + if attributes.key?(:'hls_config_save_hls_recording') + self.hls_config_save_hls_recording = attributes[:'hls_config_save_hls_recording'] + end + + if attributes.key?(:'hls_config_variants') + if (value = attributes[:'hls_config_variants']).is_a?(Array) + self.hls_config_variants = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name && + type == o.type && + hls_config_storage_path == o.hls_config_storage_path && + hls_config_storage_path_template == o.hls_config_storage_path_template && + hls_config_save_hls_recording == o.hls_config_save_hls_recording && + hls_config_variants == o.hls_config_variants + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name, type, hls_config_storage_path, hls_config_storage_path_template, hls_config_save_hls_recording, hls_config_variants].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/room_properties_streaming_endpoints_inner_hls_config_variants_inner.rb b/lib/daily-ruby/models/room_properties_streaming_endpoints_inner_hls_config_variants_inner.rb index e5fd93f..da2bde0 100644 --- a/lib/daily-ruby/models/room_properties_streaming_endpoints_inner_hls_config_variants_inner.rb +++ b/lib/daily-ruby/models/room_properties_streaming_endpoints_inner_hls_config_variants_inner.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/room_sip_call_transfer_request.rb b/lib/daily-ruby/models/room_sip_call_transfer_request.rb new file mode 100644 index 0000000..0cb1bac --- /dev/null +++ b/lib/daily-ruby/models/room_sip_call_transfer_request.rb @@ -0,0 +1,224 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # + class RoomSipCallTransferRequest + attr_accessor :session_id + + attr_accessor :to_end_point + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'session_id' => :'sessionId', + :'to_end_point' => :'toEndPoint' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'session_id' => :'String', + :'to_end_point' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::RoomSipCallTransferRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::RoomSipCallTransferRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'session_id') + self.session_id = attributes[:'session_id'] + end + + if attributes.key?(:'to_end_point') + self.to_end_point = attributes[:'to_end_point'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + session_id == o.session_id && + to_end_point == o.to_end_point + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [session_id, to_end_point].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/rooms_room_name_get_res.rb b/lib/daily-ruby/models/rooms_room_name_get_res.rb index a2a8f12..1237a26 100644 --- a/lib/daily-ruby/models/rooms_room_name_get_res.rb +++ b/lib/daily-ruby/models/rooms_room_name_get_res.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/rooms_room_name_presence_get_res.rb b/lib/daily-ruby/models/rooms_room_name_presence_get_res.rb index b232203..ebabbd4 100644 --- a/lib/daily-ruby/models/rooms_room_name_presence_get_res.rb +++ b/lib/daily-ruby/models/rooms_room_name_presence_get_res.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/rooms_room_name_presence_get_res_data_inner.rb b/lib/daily-ruby/models/rooms_room_name_presence_get_res_data_inner.rb index 6fae4ac..bdffc1d 100644 --- a/lib/daily-ruby/models/rooms_room_name_presence_get_res_data_inner.rb +++ b/lib/daily-ruby/models/rooms_room_name_presence_get_res_data_inner.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/send_app_message_request.rb b/lib/daily-ruby/models/send_app_message_request.rb index f293a69..bba1c5e 100644 --- a/lib/daily-ruby/models/send_app_message_request.rb +++ b/lib/daily-ruby/models/send_app_message_request.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/set_room_config_request.rb b/lib/daily-ruby/models/set_room_config_request.rb index 06da1d1..e6dc5d3 100644 --- a/lib/daily-ruby/models/set_room_config_request.rb +++ b/lib/daily-ruby/models/set_room_config_request.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/set_session_data_request.rb b/lib/daily-ruby/models/set_session_data_request.rb index 80adfd3..5a44fdc 100644 --- a/lib/daily-ruby/models/set_session_data_request.rb +++ b/lib/daily-ruby/models/set_session_data_request.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -119,7 +119,7 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - merge_strategy_validator = EnumAttributeValidator.new('String', ["replace", "shallow-merge"]) + merge_strategy_validator = EnumAttributeValidator.new('String', ["replace", "shallow-merge", "unknown_default_open_api"]) return false unless merge_strategy_validator.valid?(@merge_strategy) true end @@ -127,7 +127,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] merge_strategy Object to be assigned def merge_strategy=(merge_strategy) - validator = EnumAttributeValidator.new('String', ["replace", "shallow-merge"]) + validator = EnumAttributeValidator.new('String', ["replace", "shallow-merge", "unknown_default_open_api"]) unless validator.valid?(merge_strategy) fail ArgumentError, "invalid value for \"merge_strategy\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/streaming_ended.rb b/lib/daily-ruby/models/streaming_ended.rb index b766688..fb81269 100644 --- a/lib/daily-ruby/models/streaming_ended.rb +++ b/lib/daily-ruby/models/streaming_ended.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -68,7 +68,7 @@ def self.openapi_types { :'version' => :'String', :'type' => :'String', - :'event_ts' => :'Integer', + :'event_ts' => :'Float', :'payload' => :'StreamingEndedPayload' } end @@ -123,7 +123,7 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - type_validator = EnumAttributeValidator.new('String', ["streaming.ended"]) + type_validator = EnumAttributeValidator.new('String', ["streaming.ended", "unknown_default_open_api"]) return false unless type_validator.valid?(@type) true end @@ -131,7 +131,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] type Object to be assigned def type=(type) - validator = EnumAttributeValidator.new('String', ["streaming.ended"]) + validator = EnumAttributeValidator.new('String', ["streaming.ended", "unknown_default_open_api"]) unless validator.valid?(type) fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/streaming_ended_payload.rb b/lib/daily-ruby/models/streaming_ended_payload.rb index 67dae3f..4c6c965 100644 --- a/lib/daily-ruby/models/streaming_ended_payload.rb +++ b/lib/daily-ruby/models/streaming_ended_payload.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/streaming_error.rb b/lib/daily-ruby/models/streaming_error.rb index 6368846..b6b9b27 100644 --- a/lib/daily-ruby/models/streaming_error.rb +++ b/lib/daily-ruby/models/streaming_error.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -68,7 +68,7 @@ def self.openapi_types { :'version' => :'String', :'type' => :'String', - :'event_ts' => :'Integer', + :'event_ts' => :'Float', :'payload' => :'StreamingErrorPayload' } end @@ -123,7 +123,7 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - type_validator = EnumAttributeValidator.new('String', ["streaming.error"]) + type_validator = EnumAttributeValidator.new('String', ["streaming.error", "unknown_default_open_api"]) return false unless type_validator.valid?(@type) true end @@ -131,7 +131,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] type Object to be assigned def type=(type) - validator = EnumAttributeValidator.new('String', ["streaming.error"]) + validator = EnumAttributeValidator.new('String', ["streaming.error", "unknown_default_open_api"]) unless validator.valid?(type) fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/streaming_error_payload.rb b/lib/daily-ruby/models/streaming_error_payload.rb index 04baa6f..1619f8a 100644 --- a/lib/daily-ruby/models/streaming_error_payload.rb +++ b/lib/daily-ruby/models/streaming_error_payload.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/streaming_started.rb b/lib/daily-ruby/models/streaming_started.rb index 08051d1..a881663 100644 --- a/lib/daily-ruby/models/streaming_started.rb +++ b/lib/daily-ruby/models/streaming_started.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -68,7 +68,7 @@ def self.openapi_types { :'version' => :'String', :'type' => :'String', - :'event_ts' => :'Integer', + :'event_ts' => :'Float', :'payload' => :'StreamingStartedPayload' } end @@ -123,7 +123,7 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - type_validator = EnumAttributeValidator.new('String', ["streaming.started"]) + type_validator = EnumAttributeValidator.new('String', ["streaming.started", "unknown_default_open_api"]) return false unless type_validator.valid?(@type) true end @@ -131,7 +131,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] type Object to be assigned def type=(type) - validator = EnumAttributeValidator.new('String', ["streaming.started"]) + validator = EnumAttributeValidator.new('String', ["streaming.started", "unknown_default_open_api"]) unless validator.valid?(type) fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/streaming_started_payload.rb b/lib/daily-ruby/models/streaming_started_payload.rb index c68006a..c197469 100644 --- a/lib/daily-ruby/models/streaming_started_payload.rb +++ b/lib/daily-ruby/models/streaming_started_payload.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/streaming_updated.rb b/lib/daily-ruby/models/streaming_updated.rb index 401bcb9..0486a06 100644 --- a/lib/daily-ruby/models/streaming_updated.rb +++ b/lib/daily-ruby/models/streaming_updated.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -68,7 +68,7 @@ def self.openapi_types { :'version' => :'String', :'type' => :'String', - :'event_ts' => :'Integer', + :'event_ts' => :'Float', :'payload' => :'StreamingUpdatedPayload' } end @@ -123,7 +123,7 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' - type_validator = EnumAttributeValidator.new('String', ["streaming.updated"]) + type_validator = EnumAttributeValidator.new('String', ["streaming.updated", "unknown_default_open_api"]) return false unless type_validator.valid?(@type) true end @@ -131,7 +131,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] type Object to be assigned def type=(type) - validator = EnumAttributeValidator.new('String', ["streaming.updated"]) + validator = EnumAttributeValidator.new('String', ["streaming.updated", "unknown_default_open_api"]) unless validator.valid?(type) fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." end diff --git a/lib/daily-ruby/models/streaming_updated_payload.rb b/lib/daily-ruby/models/streaming_updated_payload.rb index 96ecefd..7bb4693 100644 --- a/lib/daily-ruby/models/streaming_updated_payload.rb +++ b/lib/daily-ruby/models/streaming_updated_payload.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/transcription_bucket.rb b/lib/daily-ruby/models/transcription_bucket.rb index 6ce7ecf..abacc07 100644 --- a/lib/daily-ruby/models/transcription_bucket.rb +++ b/lib/daily-ruby/models/transcription_bucket.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/transcription_properties.rb b/lib/daily-ruby/models/transcription_properties.rb index 966d7c6..1328bbe 100644 --- a/lib/daily-ruby/models/transcription_properties.rb +++ b/lib/daily-ruby/models/transcription_properties.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -34,9 +34,12 @@ class TranscriptionProperties attr_accessor :redact - # Specify any Deepgram parameters. See Deepgram's documentation for [available streaming options](https://developers.deepgram.com/docs/features-overview). + # Specify any Deepgram parameters. See Deepgram's documentation for [available streaming options](https://developers.deepgram.com/docs/features-overview) attr_accessor :extra + # Whether Deepgram's raw response should be included in all transcription messages + attr_accessor :include_raw_response + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -47,7 +50,8 @@ def self.attribute_map :'punctuate' => :'punctuate', :'endpointing' => :'endpointing', :'redact' => :'redact', - :'extra' => :'extra' + :'extra' => :'extra', + :'include_raw_response' => :'includeRawResponse' } end @@ -66,7 +70,8 @@ def self.openapi_types :'punctuate' => :'Boolean', :'endpointing' => :'TranscriptionPropertiesEndpointing', :'redact' => :'TranscriptionPropertiesRedact', - :'extra' => :'Object' + :'extra' => :'Object', + :'include_raw_response' => :'Boolean' } end @@ -122,6 +127,10 @@ def initialize(attributes = {}) if attributes.key?(:'extra') self.extra = attributes[:'extra'] end + + if attributes.key?(:'include_raw_response') + self.include_raw_response = attributes[:'include_raw_response'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -151,7 +160,8 @@ def ==(o) punctuate == o.punctuate && endpointing == o.endpointing && redact == o.redact && - extra == o.extra + extra == o.extra && + include_raw_response == o.include_raw_response end # @see the `==` method @@ -163,7 +173,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [language, model, tier, profanity_filter, punctuate, endpointing, redact, extra].hash + [language, model, tier, profanity_filter, punctuate, endpointing, redact, extra, include_raw_response].hash end # Builds the object from hash diff --git a/lib/daily-ruby/models/transcription_properties_endpointing.rb b/lib/daily-ruby/models/transcription_properties_endpointing.rb index 6f33fd4..2a15dca 100644 --- a/lib/daily-ruby/models/transcription_properties_endpointing.rb +++ b/lib/daily-ruby/models/transcription_properties_endpointing.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/transcription_properties_redact.rb b/lib/daily-ruby/models/transcription_properties_redact.rb index 871c098..038f1d9 100644 --- a/lib/daily-ruby/models/transcription_properties_redact.rb +++ b/lib/daily-ruby/models/transcription_properties_redact.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/update_permissions_request.rb b/lib/daily-ruby/models/update_permissions_request.rb index 609c4ee..aeaf61c 100644 --- a/lib/daily-ruby/models/update_permissions_request.rb +++ b/lib/daily-ruby/models/update_permissions_request.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/update_permissions_request_data_value.rb b/lib/daily-ruby/models/update_permissions_request_data_value.rb index a519ddf..dbf963b 100644 --- a/lib/daily-ruby/models/update_permissions_request_data_value.rb +++ b/lib/daily-ruby/models/update_permissions_request_data_value.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/update_permissions_request_data_value_can_send.rb b/lib/daily-ruby/models/update_permissions_request_data_value_can_send.rb index 984e5ff..cd4cdeb 100644 --- a/lib/daily-ruby/models/update_permissions_request_data_value_can_send.rb +++ b/lib/daily-ruby/models/update_permissions_request_data_value_can_send.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/update_webhook.rb b/lib/daily-ruby/models/update_webhook.rb index f2f0bf4..6571b5f 100644 --- a/lib/daily-ruby/models/update_webhook.rb +++ b/lib/daily-ruby/models/update_webhook.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -21,9 +21,15 @@ class UpdateWebhook # The basic auth credentials that will be used to POST to the webhook URL. attr_accessor :basic_auth + # The retry configuration for this webhook endpoint to use. The default is circuit-breaker. + attr_accessor :retry_type + # The set of event types this webhook is subscribed to. attr_accessor :event_types + # A secret that can be used to verify the signature of the webhook. + attr_accessor :hmac + class EnumAttributeValidator attr_reader :datatype attr_reader :allowable_values @@ -51,7 +57,9 @@ def self.attribute_map { :'url' => :'url', :'basic_auth' => :'basicAuth', - :'event_types' => :'eventTypes' + :'retry_type' => :'retryType', + :'event_types' => :'eventTypes', + :'hmac' => :'hmac' } end @@ -65,7 +73,9 @@ def self.openapi_types { :'url' => :'String', :'basic_auth' => :'String', - :'event_types' => :'Array' + :'retry_type' => :'String', + :'event_types' => :'Array', + :'hmac' => :'String' } end @@ -98,11 +108,19 @@ def initialize(attributes = {}) self.basic_auth = attributes[:'basic_auth'] end + if attributes.key?(:'retry_type') + self.retry_type = attributes[:'retry_type'] + end + if attributes.key?(:'event_types') if (value = attributes[:'event_types']).is_a?(Array) self.event_types = value end end + + if attributes.key?(:'hmac') + self.hmac = attributes[:'hmac'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -117,9 +135,21 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' + retry_type_validator = EnumAttributeValidator.new('String', ["circuit-breaker", "exponential", "unknown_default_open_api"]) + return false unless retry_type_validator.valid?(@retry_type) true end + # Custom attribute writer method checking allowed values (enum). + # @param [Object] retry_type Object to be assigned + def retry_type=(retry_type) + validator = EnumAttributeValidator.new('String', ["circuit-breaker", "exponential", "unknown_default_open_api"]) + unless validator.valid?(retry_type) + fail ArgumentError, "invalid value for \"retry_type\", must be one of #{validator.allowable_values}." + end + @retry_type = retry_type + end + # Checks equality by comparing each attribute. # @param [Object] Object to be compared def ==(o) @@ -127,7 +157,9 @@ def ==(o) self.class == o.class && url == o.url && basic_auth == o.basic_auth && - event_types == o.event_types + retry_type == o.retry_type && + event_types == o.event_types && + hmac == o.hmac end # @see the `==` method @@ -139,7 +171,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [url, basic_auth, event_types].hash + [url, basic_auth, retry_type, event_types, hmac].hash end # Builds the object from hash diff --git a/lib/daily-ruby/models/validate_meeting_token200_response.rb b/lib/daily-ruby/models/validate_meeting_token200_response.rb index 2bb880f..49d12ce 100644 --- a/lib/daily-ruby/models/validate_meeting_token200_response.rb +++ b/lib/daily-ruby/models/validate_meeting_token200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end diff --git a/lib/daily-ruby/models/waiting_participant_joined.rb b/lib/daily-ruby/models/waiting_participant_joined.rb new file mode 100644 index 0000000..ff70e98 --- /dev/null +++ b/lib/daily-ruby/models/waiting_participant_joined.rb @@ -0,0 +1,278 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + class WaitingParticipantJoined + # The semantic version of the current message. + attr_accessor :version + + # The type of event that is being provided. + attr_accessor :type + + # The Unix epoch time in seconds representing when the event was generated. + attr_accessor :event_ts + + attr_accessor :payload + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'version' => :'version', + :'type' => :'type', + :'event_ts' => :'event_ts', + :'payload' => :'payload' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'version' => :'String', + :'type' => :'String', + :'event_ts' => :'Float', + :'payload' => :'WaitingParticipantJoinedPayload' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::WaitingParticipantJoined` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::WaitingParticipantJoined`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'event_ts') + self.event_ts = attributes[:'event_ts'] + end + + if attributes.key?(:'payload') + self.payload = attributes[:'payload'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + type_validator = EnumAttributeValidator.new('String', ["waiting-participant.joined", "unknown_default_open_api"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["waiting-participant.joined", "unknown_default_open_api"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + version == o.version && + type == o.type && + event_ts == o.event_ts && + payload == o.payload + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [version, type, event_ts, payload].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/waiting_participant_joined_payload.rb b/lib/daily-ruby/models/waiting_participant_joined_payload.rb new file mode 100644 index 0000000..73e0ad2 --- /dev/null +++ b/lib/daily-ruby/models/waiting_participant_joined_payload.rb @@ -0,0 +1,285 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # The payload of the object, describing the given event. + class WaitingParticipantJoinedPayload + # The Unix epoch time in seconds representing when the waiting participant joined. + attr_accessor :joined_at + + # The user session ID, or participant id. + attr_accessor :session_id + + # The name of the room. + attr_accessor :room + + # The ID of the user, set by the meeting token. + attr_accessor :user_id + + # The name of the user, set by the meeting token. + attr_accessor :user_name + + # A flag determining if this user is considered the owner. + attr_accessor :owner + + # The Unix epoch time in seconds representing when the participant will be ejected. + attr_accessor :will_eject_at + + attr_accessor :permissions + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'joined_at' => :'joined_at', + :'session_id' => :'session_id', + :'room' => :'room', + :'user_id' => :'user_id', + :'user_name' => :'user_name', + :'owner' => :'owner', + :'will_eject_at' => :'will_eject_at', + :'permissions' => :'permissions' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'joined_at' => :'Float', + :'session_id' => :'String', + :'room' => :'String', + :'user_id' => :'String', + :'user_name' => :'String', + :'owner' => :'Boolean', + :'will_eject_at' => :'Integer', + :'permissions' => :'ParticipantJoinedPayloadPermissions' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::WaitingParticipantJoinedPayload` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::WaitingParticipantJoinedPayload`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'joined_at') + self.joined_at = attributes[:'joined_at'] + end + + if attributes.key?(:'session_id') + self.session_id = attributes[:'session_id'] + end + + if attributes.key?(:'room') + self.room = attributes[:'room'] + end + + if attributes.key?(:'user_id') + self.user_id = attributes[:'user_id'] + end + + if attributes.key?(:'user_name') + self.user_name = attributes[:'user_name'] + end + + if attributes.key?(:'owner') + self.owner = attributes[:'owner'] + end + + if attributes.key?(:'will_eject_at') + self.will_eject_at = attributes[:'will_eject_at'] + end + + if attributes.key?(:'permissions') + self.permissions = attributes[:'permissions'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + joined_at == o.joined_at && + session_id == o.session_id && + room == o.room && + user_id == o.user_id && + user_name == o.user_name && + owner == o.owner && + will_eject_at == o.will_eject_at && + permissions == o.permissions + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [joined_at, session_id, room, user_id, user_name, owner, will_eject_at, permissions].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/waiting_participant_left.rb b/lib/daily-ruby/models/waiting_participant_left.rb new file mode 100644 index 0000000..d270ea8 --- /dev/null +++ b/lib/daily-ruby/models/waiting_participant_left.rb @@ -0,0 +1,278 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + class WaitingParticipantLeft + # The semantic version of the current message. + attr_accessor :version + + # The type of event that is being provided. + attr_accessor :type + + # The Unix epoch time in seconds representing when the event was generated. + attr_accessor :event_ts + + attr_accessor :payload + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'version' => :'version', + :'type' => :'type', + :'event_ts' => :'event_ts', + :'payload' => :'payload' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'version' => :'String', + :'type' => :'String', + :'event_ts' => :'Float', + :'payload' => :'WaitingParticipantLeftPayload' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::WaitingParticipantLeft` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::WaitingParticipantLeft`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'event_ts') + self.event_ts = attributes[:'event_ts'] + end + + if attributes.key?(:'payload') + self.payload = attributes[:'payload'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + type_validator = EnumAttributeValidator.new('String', ["waiting-participant.left", "unknown_default_open_api"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["waiting-participant.left", "unknown_default_open_api"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + version == o.version && + type == o.type && + event_ts == o.event_ts && + payload == o.payload + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [version, type, event_ts, payload].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/waiting_participant_left_payload.rb b/lib/daily-ruby/models/waiting_participant_left_payload.rb new file mode 100644 index 0000000..6b1df80 --- /dev/null +++ b/lib/daily-ruby/models/waiting_participant_left_payload.rb @@ -0,0 +1,295 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.8.0 + +=end + +require 'date' +require 'time' + +module Daily + # The payload of the object, describing the given event. + class WaitingParticipantLeftPayload + # The Unix epoch time in seconds representing when the waiting participant joined. + attr_accessor :joined_at + + # The time in seconds representing how long the participant was in the call. + attr_accessor :duration + + # The user session ID, or participant id. + attr_accessor :session_id + + # The name of the room. + attr_accessor :room + + # The ID of the user, set by the meeting token. + attr_accessor :user_id + + # The name of the user, set by the meeting token. + attr_accessor :user_name + + # A flag determining if this user is considered the owner. + attr_accessor :owner + + # The Unix epoch time in seconds representing when the participant will be ejected. + attr_accessor :will_eject_at + + attr_accessor :permissions + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'joined_at' => :'joined_at', + :'duration' => :'duration', + :'session_id' => :'session_id', + :'room' => :'room', + :'user_id' => :'user_id', + :'user_name' => :'user_name', + :'owner' => :'owner', + :'will_eject_at' => :'will_eject_at', + :'permissions' => :'permissions' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'joined_at' => :'Float', + :'duration' => :'Float', + :'session_id' => :'String', + :'room' => :'String', + :'user_id' => :'String', + :'user_name' => :'String', + :'owner' => :'Boolean', + :'will_eject_at' => :'Integer', + :'permissions' => :'ParticipantJoinedPayloadPermissions' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::WaitingParticipantLeftPayload` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::WaitingParticipantLeftPayload`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'joined_at') + self.joined_at = attributes[:'joined_at'] + end + + if attributes.key?(:'duration') + self.duration = attributes[:'duration'] + end + + if attributes.key?(:'session_id') + self.session_id = attributes[:'session_id'] + end + + if attributes.key?(:'room') + self.room = attributes[:'room'] + end + + if attributes.key?(:'user_id') + self.user_id = attributes[:'user_id'] + end + + if attributes.key?(:'user_name') + self.user_name = attributes[:'user_name'] + end + + if attributes.key?(:'owner') + self.owner = attributes[:'owner'] + end + + if attributes.key?(:'will_eject_at') + self.will_eject_at = attributes[:'will_eject_at'] + end + + if attributes.key?(:'permissions') + self.permissions = attributes[:'permissions'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + joined_at == o.joined_at && + duration == o.duration && + session_id == o.session_id && + room == o.room && + user_id == o.user_id && + user_name == o.user_name && + owner == o.owner && + will_eject_at == o.will_eject_at && + permissions == o.permissions + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [joined_at, duration, session_id, room, user_id, user_name, owner, will_eject_at, permissions].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Daily.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/daily-ruby/models/webhook.rb b/lib/daily-ruby/models/webhook.rb index 2995287..bce5de2 100644 --- a/lib/daily-ruby/models/webhook.rb +++ b/lib/daily-ruby/models/webhook.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -27,25 +27,28 @@ class Webhook # The basic auth credentials that will be used to POST to the webhook URL. attr_accessor :basic_auth + # The retry configuration for this webhook endpoint to use. The default is circuit-breaker. + attr_accessor :retry_type + # The set of event types this webhook is subscribed to. attr_accessor :event_types - # The current state of the webhook. FAILED: 0, ACTIVE: 1, STOPPED: 2. + # The current state of the webhook. \"FAILED\" | \"INACTIVE\" attr_accessor :state # The number of consecutive failures this webhook has made. attr_accessor :failed_count - # The Unix epoch time in seconds of the last moment an event was pushed to the webhook server. + # The ISO 8601 time of the last moment an event was pushed to the webhook server. attr_accessor :last_moment_pushed # The domain ID this webhook is associated with. attr_accessor :domain_id - # The Unix epoch time in seconds of when this webhook was created. + # The ISO 8601 time of when this webhook was created. attr_accessor :created_at - # The Unix epoch time in seconds of when this webhook was last updated. + # The ISO 8601 time of when this webhook was last updated. attr_accessor :updated_at class EnumAttributeValidator @@ -77,6 +80,7 @@ def self.attribute_map :'url' => :'url', :'hmac' => :'hmac', :'basic_auth' => :'basicAuth', + :'retry_type' => :'retryType', :'event_types' => :'eventTypes', :'state' => :'state', :'failed_count' => :'failedCount', @@ -99,13 +103,14 @@ def self.openapi_types :'url' => :'String', :'hmac' => :'String', :'basic_auth' => :'String', + :'retry_type' => :'String', :'event_types' => :'Array', - :'state' => :'Float', + :'state' => :'String', :'failed_count' => :'Float', - :'last_moment_pushed' => :'Float', + :'last_moment_pushed' => :'String', :'domain_id' => :'String', - :'created_at' => :'Float', - :'updated_at' => :'Float' + :'created_at' => :'String', + :'updated_at' => :'String' } end @@ -146,6 +151,10 @@ def initialize(attributes = {}) self.basic_auth = attributes[:'basic_auth'] end + if attributes.key?(:'retry_type') + self.retry_type = attributes[:'retry_type'] + end + if attributes.key?(:'event_types') if (value = attributes[:'event_types']).is_a?(Array) self.event_types = value @@ -189,9 +198,21 @@ def list_invalid_properties # @return true if the model is valid def valid? warn '[DEPRECATED] the `valid?` method is obsolete' + retry_type_validator = EnumAttributeValidator.new('String', ["circuit-breaker", "exponential", "unknown_default_open_api"]) + return false unless retry_type_validator.valid?(@retry_type) true end + # Custom attribute writer method checking allowed values (enum). + # @param [Object] retry_type Object to be assigned + def retry_type=(retry_type) + validator = EnumAttributeValidator.new('String', ["circuit-breaker", "exponential", "unknown_default_open_api"]) + unless validator.valid?(retry_type) + fail ArgumentError, "invalid value for \"retry_type\", must be one of #{validator.allowable_values}." + end + @retry_type = retry_type + end + # Checks equality by comparing each attribute. # @param [Object] Object to be compared def ==(o) @@ -201,6 +222,7 @@ def ==(o) url == o.url && hmac == o.hmac && basic_auth == o.basic_auth && + retry_type == o.retry_type && event_types == o.event_types && state == o.state && failed_count == o.failed_count && @@ -219,7 +241,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [uuid, url, hmac, basic_auth, event_types, state, failed_count, last_moment_pushed, domain_id, created_at, updated_at].hash + [uuid, url, hmac, basic_auth, retry_type, event_types, state, failed_count, last_moment_pushed, domain_id, created_at, updated_at].hash end # Builds the object from hash diff --git a/lib/daily-ruby/version.rb b/lib/daily-ruby/version.rb index 86c771a..6b8de31 100644 --- a/lib/daily-ruby/version.rb +++ b/lib/daily-ruby/version.rb @@ -6,10 +6,10 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end module Daily - VERSION = '1.0.0' + VERSION = '1.0.1' end diff --git a/run.sh b/run.sh index 30c7e13..360fa77 100755 --- a/run.sh +++ b/run.sh @@ -1,9 +1,10 @@ #!/bin/bash -openapi-generator generate -g ruby -o . -i daily.yaml \ +openapi-generator generate -g ruby -o . \ + -i ~/git/pluot-core/north-star/packages/docs-site/lib/oas/index.yaml \ --additional-properties=gemName=daily-ruby \ --additional-properties=moduleName=Daily \ - --additional-properties=gemVersion=0.0.2 \ + --additional-properties=gemVersion=1.0.1 \ --additional-properties=gemLicense=MIT \ --additional-properties=gemAuthor=Daily \ --additional-properties=gemAuthorEmail=help@daily.co \ @@ -13,4 +14,3 @@ openapi-generator generate -g ruby -o . -i daily.yaml \ --additional-properties=disallowAdditionalPropertiesIfNotPresent=false \ --additional-properties=library=faraday \ --additional-properties=enumUnknownDefaultCase=true \ - diff --git a/spec/api/dialin_api_spec.rb b/spec/api/dialin_api_spec.rb new file mode 100644 index 0000000..c831fa4 --- /dev/null +++ b/spec/api/dialin_api_spec.rb @@ -0,0 +1,47 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Daily::DialinApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'DialinApi' do + before do + # run before each test + @api_instance = Daily::DialinApi.new + end + + after do + # run after each test + end + + describe 'test an instance of DialinApi' do + it 'should create an instance of DialinApi' do + expect(@api_instance).to be_instance_of(Daily::DialinApi) + end + end + + # unit tests for pinless_call_update + # /dialin/pinlessCallUpdate + # Direct a SIP or PSTN call on hold to a specified SIP URI associated to a Daily Room. + # @param [Hash] opts the optional parameters + # @option opts [PinlessCallUpdateRequest] :pinless_call_update_request + # @return [nil] + describe 'pinless_call_update test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/phone_numbers_api_spec.rb b/spec/api/phone_numbers_api_spec.rb new file mode 100644 index 0000000..1318b2b --- /dev/null +++ b/spec/api/phone_numbers_api_spec.rb @@ -0,0 +1,87 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Daily::PhoneNumbersApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'PhoneNumbersApi' do + before do + # run before each test + @api_instance = Daily::PhoneNumbersApi.new + end + + after do + # run after each test + end + + describe 'test an instance of PhoneNumbersApi' do + it 'should create an instance of PhoneNumbersApi' do + expect(@api_instance).to be_instance_of(Daily::PhoneNumbersApi) + end + end + + # unit tests for buy_phone_number + # /buy-phone-number + # This will buy a phone number. In the POST request you can either provide the phone number you want to buy, or leave it empty. If the specified `number` is still available, it will be bought or the API will return a failure. Alternatively, if you skipped the `number` field, a random phone number from California (CA) will be bought. + # @param [Hash] opts the optional parameters + # @option opts [BuyPhoneNumberRequest] :buy_phone_number_request + # @return [Object] + describe 'buy_phone_number test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for list_available_numbers + # /list-available-numbers + # Search for available phone numbers to purchase + # @param [Hash] opts the optional parameters + # @option opts [String] :areacode An areacode to search within. + # @option opts [String] :region A region or state to search within. Must be an ISO 3166-2 alpha-2 code, i.e. CA for California. Cannot be used in combination with areacode. + # @option opts [String] :city A specific City to search within. Example, New York. The string must be url encoded because it is a url parameter. Must be used in combination with region. Cannot be used in combination with areacode, starts_with, contains, or ends_with. + # @option opts [String] :contains A string of 3 to 7 digits that should appear somewhere in the number. + # @option opts [String] :starts_with A string of 3 to 7 digits that should be used as the start of a number. Cannot be used in combination with contains or ends_with. + # @option opts [String] :ends_with A string of 3 to 7 digits that should be used as the end of a number. Cannot be used in combination with starts_with or contains. + # @return [nil] + describe 'list_available_numbers test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for purchased_phone_nunbers + # /purchased-phone-numbers + # List the purchased phone numbers for this domain + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'purchased_phone_nunbers test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for release_phone_number + # release-phone-number/:id + # Release a purchased number. The number is referenced by its id. A number cannot be deleted within the 14 days of purchase. Calling this API before this period expires results in an error. + # @param id + # @param [Hash] opts the optional parameters + # @return [Object] + describe 'release_phone_number test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/batch_processor_error_payload_input_spec.rb b/spec/models/batch_processor_error_payload_input_spec.rb new file mode 100644 index 0000000..0161308 --- /dev/null +++ b/spec/models/batch_processor_error_payload_input_spec.rb @@ -0,0 +1,58 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::BatchProcessorErrorPayloadInput +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::BatchProcessorErrorPayloadInput do + let(:instance) { Daily::BatchProcessorErrorPayloadInput.new } + + describe 'test an instance of BatchProcessorErrorPayloadInput' do + it 'should create an instance of BatchProcessorErrorPayloadInput' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::BatchProcessorErrorPayloadInput) + end + end + + describe 'test attribute "source_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["recordingId", "uri", "transcriptUri", "unknown_default_open_api"]) + # validator.allowable_values.each do |value| + # expect { instance.source_type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "uri"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "recording_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "language"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/batch_processor_error_payload_spec.rb b/spec/models/batch_processor_error_payload_spec.rb new file mode 100644 index 0000000..9b2443a --- /dev/null +++ b/spec/models/batch_processor_error_payload_spec.rb @@ -0,0 +1,64 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::BatchProcessorErrorPayload +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::BatchProcessorErrorPayload do + let(:instance) { Daily::BatchProcessorErrorPayload.new } + + describe 'test an instance of BatchProcessorErrorPayload' do + it 'should create an instance of BatchProcessorErrorPayload' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::BatchProcessorErrorPayload) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "preset"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["error", "unknown_default_open_api"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "input"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "error"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/batch_processor_error_spec.rb b/spec/models/batch_processor_error_spec.rb new file mode 100644 index 0000000..b72033b --- /dev/null +++ b/spec/models/batch_processor_error_spec.rb @@ -0,0 +1,58 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::BatchProcessorError +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::BatchProcessorError do + let(:instance) { Daily::BatchProcessorError.new } + + describe 'test an instance of BatchProcessorError' do + it 'should create an instance of BatchProcessorError' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::BatchProcessorError) + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["batch-processor.job-finished", "unknown_default_open_api"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "event_ts"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "payload"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/batch_processor_job_finished_payload_input_spec.rb b/spec/models/batch_processor_job_finished_payload_input_spec.rb new file mode 100644 index 0000000..fac1f94 --- /dev/null +++ b/spec/models/batch_processor_job_finished_payload_input_spec.rb @@ -0,0 +1,58 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::BatchProcessorJobFinishedPayloadInput +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::BatchProcessorJobFinishedPayloadInput do + let(:instance) { Daily::BatchProcessorJobFinishedPayloadInput.new } + + describe 'test an instance of BatchProcessorJobFinishedPayloadInput' do + it 'should create an instance of BatchProcessorJobFinishedPayloadInput' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::BatchProcessorJobFinishedPayloadInput) + end + end + + describe 'test attribute "source_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["recordingId", "uri", "transcriptUri", "unknown_default_open_api"]) + # validator.allowable_values.each do |value| + # expect { instance.source_type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "uri"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "recording_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "language"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/batch_processor_job_finished_payload_output_concept_spec.rb b/spec/models/batch_processor_job_finished_payload_output_concept_spec.rb new file mode 100644 index 0000000..359784c --- /dev/null +++ b/spec/models/batch_processor_job_finished_payload_output_concept_spec.rb @@ -0,0 +1,46 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::BatchProcessorJobFinishedPayloadOutputConcept +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::BatchProcessorJobFinishedPayloadOutputConcept do + let(:instance) { Daily::BatchProcessorJobFinishedPayloadOutputConcept.new } + + describe 'test an instance of BatchProcessorJobFinishedPayloadOutputConcept' do + it 'should create an instance of BatchProcessorJobFinishedPayloadOutputConcept' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::BatchProcessorJobFinishedPayloadOutputConcept) + end + end + + describe 'test attribute "format"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["JSON", "unknown_default_open_api"]) + # validator.allowable_values.each do |value| + # expect { instance.format = value }.not_to raise_error + # end + end + end + + describe 'test attribute "s3_config"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/batch_processor_job_finished_payload_output_soap_s3_config_spec.rb b/spec/models/batch_processor_job_finished_payload_output_soap_s3_config_spec.rb new file mode 100644 index 0000000..118f6c8 --- /dev/null +++ b/spec/models/batch_processor_job_finished_payload_output_soap_s3_config_spec.rb @@ -0,0 +1,48 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::BatchProcessorJobFinishedPayloadOutputSoapS3Config +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::BatchProcessorJobFinishedPayloadOutputSoapS3Config do + let(:instance) { Daily::BatchProcessorJobFinishedPayloadOutputSoapS3Config.new } + + describe 'test an instance of BatchProcessorJobFinishedPayloadOutputSoapS3Config' do + it 'should create an instance of BatchProcessorJobFinishedPayloadOutputSoapS3Config' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::BatchProcessorJobFinishedPayloadOutputSoapS3Config) + end + end + + describe 'test attribute "bucket"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "region"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/batch_processor_job_finished_payload_output_soap_spec.rb b/spec/models/batch_processor_job_finished_payload_output_soap_spec.rb new file mode 100644 index 0000000..87ac6ff --- /dev/null +++ b/spec/models/batch_processor_job_finished_payload_output_soap_spec.rb @@ -0,0 +1,46 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::BatchProcessorJobFinishedPayloadOutputSoap +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::BatchProcessorJobFinishedPayloadOutputSoap do + let(:instance) { Daily::BatchProcessorJobFinishedPayloadOutputSoap.new } + + describe 'test an instance of BatchProcessorJobFinishedPayloadOutputSoap' do + it 'should create an instance of BatchProcessorJobFinishedPayloadOutputSoap' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::BatchProcessorJobFinishedPayloadOutputSoap) + end + end + + describe 'test attribute "format"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["JSON", "unknown_default_open_api"]) + # validator.allowable_values.each do |value| + # expect { instance.format = value }.not_to raise_error + # end + end + end + + describe 'test attribute "s3_config"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/batch_processor_job_finished_payload_output_spec.rb b/spec/models/batch_processor_job_finished_payload_output_spec.rb new file mode 100644 index 0000000..90a7915 --- /dev/null +++ b/spec/models/batch_processor_job_finished_payload_output_spec.rb @@ -0,0 +1,54 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::BatchProcessorJobFinishedPayloadOutput +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::BatchProcessorJobFinishedPayloadOutput do + let(:instance) { Daily::BatchProcessorJobFinishedPayloadOutput.new } + + describe 'test an instance of BatchProcessorJobFinishedPayloadOutput' do + it 'should create an instance of BatchProcessorJobFinishedPayloadOutput' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::BatchProcessorJobFinishedPayloadOutput) + end + end + + describe 'test attribute "soap"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "concept"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "summary"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "transcription"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/batch_processor_job_finished_payload_output_summary_spec.rb b/spec/models/batch_processor_job_finished_payload_output_summary_spec.rb new file mode 100644 index 0000000..9653bfe --- /dev/null +++ b/spec/models/batch_processor_job_finished_payload_output_summary_spec.rb @@ -0,0 +1,46 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::BatchProcessorJobFinishedPayloadOutputSummary +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::BatchProcessorJobFinishedPayloadOutputSummary do + let(:instance) { Daily::BatchProcessorJobFinishedPayloadOutputSummary.new } + + describe 'test an instance of BatchProcessorJobFinishedPayloadOutputSummary' do + it 'should create an instance of BatchProcessorJobFinishedPayloadOutputSummary' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::BatchProcessorJobFinishedPayloadOutputSummary) + end + end + + describe 'test attribute "format"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["txt", "unknown_default_open_api"]) + # validator.allowable_values.each do |value| + # expect { instance.format = value }.not_to raise_error + # end + end + end + + describe 'test attribute "s3_config"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/batch_processor_job_finished_payload_output_transcription_inner_spec.rb b/spec/models/batch_processor_job_finished_payload_output_transcription_inner_spec.rb new file mode 100644 index 0000000..52547e3 --- /dev/null +++ b/spec/models/batch_processor_job_finished_payload_output_transcription_inner_spec.rb @@ -0,0 +1,46 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::BatchProcessorJobFinishedPayloadOutputTranscriptionInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::BatchProcessorJobFinishedPayloadOutputTranscriptionInner do + let(:instance) { Daily::BatchProcessorJobFinishedPayloadOutputTranscriptionInner.new } + + describe 'test an instance of BatchProcessorJobFinishedPayloadOutputTranscriptionInner' do + it 'should create an instance of BatchProcessorJobFinishedPayloadOutputTranscriptionInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::BatchProcessorJobFinishedPayloadOutputTranscriptionInner) + end + end + + describe 'test attribute "format"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["txt", "unknown_default_open_api"]) + # validator.allowable_values.each do |value| + # expect { instance.format = value }.not_to raise_error + # end + end + end + + describe 'test attribute "s3_config"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/batch_processor_job_finished_payload_spec.rb b/spec/models/batch_processor_job_finished_payload_spec.rb new file mode 100644 index 0000000..2549ec3 --- /dev/null +++ b/spec/models/batch_processor_job_finished_payload_spec.rb @@ -0,0 +1,64 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::BatchProcessorJobFinishedPayload +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::BatchProcessorJobFinishedPayload do + let(:instance) { Daily::BatchProcessorJobFinishedPayload.new } + + describe 'test an instance of BatchProcessorJobFinishedPayload' do + it 'should create an instance of BatchProcessorJobFinishedPayload' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::BatchProcessorJobFinishedPayload) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "preset"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["finished", "unknown_default_open_api"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "input"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "output"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/batch_processor_job_finished_spec.rb b/spec/models/batch_processor_job_finished_spec.rb new file mode 100644 index 0000000..2807009 --- /dev/null +++ b/spec/models/batch_processor_job_finished_spec.rb @@ -0,0 +1,58 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::BatchProcessorJobFinished +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::BatchProcessorJobFinished do + let(:instance) { Daily::BatchProcessorJobFinished.new } + + describe 'test an instance of BatchProcessorJobFinished' do + it 'should create an instance of BatchProcessorJobFinished' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::BatchProcessorJobFinished) + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["batch-processor.job-finished", "unknown_default_open_api"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "event_ts"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "payload"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/buy_phone_number_request_spec.rb b/spec/models/buy_phone_number_request_spec.rb new file mode 100644 index 0000000..5b6ad0b --- /dev/null +++ b/spec/models/buy_phone_number_request_spec.rb @@ -0,0 +1,36 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::BuyPhoneNumberRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::BuyPhoneNumberRequest do + let(:instance) { Daily::BuyPhoneNumberRequest.new } + + describe 'test an instance of BuyPhoneNumberRequest' do + it 'should create an instance of BuyPhoneNumberRequest' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::BuyPhoneNumberRequest) + end + end + + describe 'test attribute "number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/daily_streaming_custom_layout_config_composition_params_spec.rb b/spec/models/daily_streaming_custom_layout_config_composition_params_value_spec.rb similarity index 94% rename from spec/models/daily_streaming_custom_layout_config_composition_params_spec.rb rename to spec/models/daily_streaming_custom_layout_config_composition_params_value_spec.rb index dc47aee..d11b637 100644 --- a/spec/models/daily_streaming_custom_layout_config_composition_params_spec.rb +++ b/spec/models/daily_streaming_custom_layout_config_composition_params_value_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end @@ -14,8 +14,8 @@ require 'json' require 'date' -# Unit tests for Daily::DailyStreamingCustomLayoutConfigCompositionParams +# Unit tests for Daily::DailyStreamingCustomLayoutConfigCompositionParamsValue # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Daily::DailyStreamingCustomLayoutConfigCompositionParams do +describe Daily::DailyStreamingCustomLayoutConfigCompositionParamsValue do end diff --git a/spec/models/dialout_properties_codecs_spec.rb b/spec/models/dialout_properties_codecs_spec.rb new file mode 100644 index 0000000..7017a14 --- /dev/null +++ b/spec/models/dialout_properties_codecs_spec.rb @@ -0,0 +1,42 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::DialoutPropertiesCodecs +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::DialoutPropertiesCodecs do + let(:instance) { Daily::DialoutPropertiesCodecs.new } + + describe 'test an instance of DialoutPropertiesCodecs' do + it 'should create an instance of DialoutPropertiesCodecs' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::DialoutPropertiesCodecs) + end + end + + describe 'test attribute "audio"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "video"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/dialout_properties_spec.rb b/spec/models/dialout_properties_spec.rb new file mode 100644 index 0000000..e4f8239 --- /dev/null +++ b/spec/models/dialout_properties_spec.rb @@ -0,0 +1,60 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::DialoutProperties +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::DialoutProperties do + let(:instance) { Daily::DialoutProperties.new } + + describe 'test an instance of DialoutProperties' do + it 'should create an instance of DialoutProperties' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::DialoutProperties) + end + end + + describe 'test attribute "sip_uri"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "phone_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "display_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "video"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "codecs"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/meeting_ended_payload_spec.rb b/spec/models/meeting_ended_payload_spec.rb new file mode 100644 index 0000000..4a7a2ce --- /dev/null +++ b/spec/models/meeting_ended_payload_spec.rb @@ -0,0 +1,54 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::MeetingEndedPayload +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::MeetingEndedPayload do + let(:instance) { Daily::MeetingEndedPayload.new } + + describe 'test an instance of MeetingEndedPayload' do + it 'should create an instance of MeetingEndedPayload' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::MeetingEndedPayload) + end + end + + describe 'test attribute "start_ts"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_ts"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meeting_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "room"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/meeting_ended_spec.rb b/spec/models/meeting_ended_spec.rb new file mode 100644 index 0000000..6bb4b5b --- /dev/null +++ b/spec/models/meeting_ended_spec.rb @@ -0,0 +1,58 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::MeetingEnded +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::MeetingEnded do + let(:instance) { Daily::MeetingEnded.new } + + describe 'test an instance of MeetingEnded' do + it 'should create an instance of MeetingEnded' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::MeetingEnded) + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["meeting.ended", "unknown_default_open_api"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "event_ts"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "payload"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/meeting_started_payload_spec.rb b/spec/models/meeting_started_payload_spec.rb new file mode 100644 index 0000000..0e35698 --- /dev/null +++ b/spec/models/meeting_started_payload_spec.rb @@ -0,0 +1,48 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::MeetingStartedPayload +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::MeetingStartedPayload do + let(:instance) { Daily::MeetingStartedPayload.new } + + describe 'test an instance of MeetingStartedPayload' do + it 'should create an instance of MeetingStartedPayload' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::MeetingStartedPayload) + end + end + + describe 'test attribute "start_ts"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meeting_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "room"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/meeting_started_spec.rb b/spec/models/meeting_started_spec.rb new file mode 100644 index 0000000..e7d6ac7 --- /dev/null +++ b/spec/models/meeting_started_spec.rb @@ -0,0 +1,58 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::MeetingStarted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::MeetingStarted do + let(:instance) { Daily::MeetingStarted.new } + + describe 'test an instance of MeetingStarted' do + it 'should create an instance of MeetingStarted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::MeetingStarted) + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["meeting.started", "unknown_default_open_api"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "event_ts"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "payload"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/participant_joined_payload_permissions_spec.rb b/spec/models/participant_joined_payload_permissions_spec.rb new file mode 100644 index 0000000..b7db4e2 --- /dev/null +++ b/spec/models/participant_joined_payload_permissions_spec.rb @@ -0,0 +1,48 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::ParticipantJoinedPayloadPermissions +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::ParticipantJoinedPayloadPermissions do + let(:instance) { Daily::ParticipantJoinedPayloadPermissions.new } + + describe 'test an instance of ParticipantJoinedPayloadPermissions' do + it 'should create an instance of ParticipantJoinedPayloadPermissions' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::ParticipantJoinedPayloadPermissions) + end + end + + describe 'test attribute "has_presence"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "can_send"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "can_admin"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/participant_joined_payload_spec.rb b/spec/models/participant_joined_payload_spec.rb new file mode 100644 index 0000000..50749ed --- /dev/null +++ b/spec/models/participant_joined_payload_spec.rb @@ -0,0 +1,78 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::ParticipantJoinedPayload +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::ParticipantJoinedPayload do + let(:instance) { Daily::ParticipantJoinedPayload.new } + + describe 'test an instance of ParticipantJoinedPayload' do + it 'should create an instance of ParticipantJoinedPayload' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::ParticipantJoinedPayload) + end + end + + describe 'test attribute "joined_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "session_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "room"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "user_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "user_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "owner"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "will_eject_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "permissions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/participant_joined_spec.rb b/spec/models/participant_joined_spec.rb new file mode 100644 index 0000000..b9544c1 --- /dev/null +++ b/spec/models/participant_joined_spec.rb @@ -0,0 +1,58 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::ParticipantJoined +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::ParticipantJoined do + let(:instance) { Daily::ParticipantJoined.new } + + describe 'test an instance of ParticipantJoined' do + it 'should create an instance of ParticipantJoined' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::ParticipantJoined) + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["participant.joined", "unknown_default_open_api"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "event_ts"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "payload"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/participant_left_payload_spec.rb b/spec/models/participant_left_payload_spec.rb new file mode 100644 index 0000000..5b638cb --- /dev/null +++ b/spec/models/participant_left_payload_spec.rb @@ -0,0 +1,84 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::ParticipantLeftPayload +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::ParticipantLeftPayload do + let(:instance) { Daily::ParticipantLeftPayload.new } + + describe 'test an instance of ParticipantLeftPayload' do + it 'should create an instance of ParticipantLeftPayload' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::ParticipantLeftPayload) + end + end + + describe 'test attribute "joined_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "duration"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "session_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "room"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "user_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "user_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "owner"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "will_eject_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "permissions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/participant_left_spec.rb b/spec/models/participant_left_spec.rb new file mode 100644 index 0000000..2041db6 --- /dev/null +++ b/spec/models/participant_left_spec.rb @@ -0,0 +1,58 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::ParticipantLeft +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::ParticipantLeft do + let(:instance) { Daily::ParticipantLeft.new } + + describe 'test an instance of ParticipantLeft' do + it 'should create an instance of ParticipantLeft' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::ParticipantLeft) + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["participant.left", "unknown_default_open_api"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "event_ts"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "payload"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/pin_dialin_inner_ivr_greeting_spec.rb b/spec/models/pin_dialin_inner_ivr_greeting_spec.rb new file mode 100644 index 0000000..63de934 --- /dev/null +++ b/spec/models/pin_dialin_inner_ivr_greeting_spec.rb @@ -0,0 +1,36 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::PinDialinInnerIvrGreeting +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::PinDialinInnerIvrGreeting do + let(:instance) { Daily::PinDialinInnerIvrGreeting.new } + + describe 'test an instance of PinDialinInnerIvrGreeting' do + it 'should create an instance of PinDialinInnerIvrGreeting' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::PinDialinInnerIvrGreeting) + end + end + + describe 'test attribute "message"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/pin_dialin_inner_spec.rb b/spec/models/pin_dialin_inner_spec.rb new file mode 100644 index 0000000..ad84c18 --- /dev/null +++ b/spec/models/pin_dialin_inner_spec.rb @@ -0,0 +1,48 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::PinDialinInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::PinDialinInner do + let(:instance) { Daily::PinDialinInner.new } + + describe 'test an instance of PinDialinInner' do + it 'should create an instance of PinDialinInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::PinDialinInner) + end + end + + describe 'test attribute "phone_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name_prefix"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ivr_greeting"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/pinless_call_update_request_spec.rb b/spec/models/pinless_call_update_request_spec.rb new file mode 100644 index 0000000..a6c0262 --- /dev/null +++ b/spec/models/pinless_call_update_request_spec.rb @@ -0,0 +1,48 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::PinlessCallUpdateRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::PinlessCallUpdateRequest do + let(:instance) { Daily::PinlessCallUpdateRequest.new } + + describe 'test an instance of PinlessCallUpdateRequest' do + it 'should create an instance of PinlessCallUpdateRequest' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::PinlessCallUpdateRequest) + end + end + + describe 'test attribute "call_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "call_domain"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sip_uri"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/pinless_dialin_inner_spec.rb b/spec/models/pinless_dialin_inner_spec.rb new file mode 100644 index 0000000..89eff83 --- /dev/null +++ b/spec/models/pinless_dialin_inner_spec.rb @@ -0,0 +1,54 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::PinlessDialinInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::PinlessDialinInner do + let(:instance) { Daily::PinlessDialinInner.new } + + describe 'test an instance of PinlessDialinInner' do + it 'should create an instance of PinlessDialinInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::PinlessDialinInner) + end + end + + describe 'test attribute "phone_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "room_creation_api"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name_prefix"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sip_uri"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/room_dial_out_send_dtmf_request_spec.rb b/spec/models/room_dial_out_send_dtmf_request_spec.rb new file mode 100644 index 0000000..2aa79ef --- /dev/null +++ b/spec/models/room_dial_out_send_dtmf_request_spec.rb @@ -0,0 +1,42 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::RoomDialOutSendDTMFRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::RoomDialOutSendDTMFRequest do + let(:instance) { Daily::RoomDialOutSendDTMFRequest.new } + + describe 'test an instance of RoomDialOutSendDTMFRequest' do + it 'should create an instance of RoomDialOutSendDTMFRequest' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::RoomDialOutSendDTMFRequest) + end + end + + describe 'test attribute "session_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tones"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/room_dial_out_stop_request_spec.rb b/spec/models/room_dial_out_stop_request_spec.rb new file mode 100644 index 0000000..9238460 --- /dev/null +++ b/spec/models/room_dial_out_stop_request_spec.rb @@ -0,0 +1,36 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::RoomDialOutStopRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::RoomDialOutStopRequest do + let(:instance) { Daily::RoomDialOutStopRequest.new } + + describe 'test an instance of RoomDialOutStopRequest' do + it 'should create an instance of RoomDialOutStopRequest' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::RoomDialOutStopRequest) + end + end + + describe 'test attribute "session_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/room_sip_call_transfer_request_spec.rb b/spec/models/room_sip_call_transfer_request_spec.rb new file mode 100644 index 0000000..4e8f68d --- /dev/null +++ b/spec/models/room_sip_call_transfer_request_spec.rb @@ -0,0 +1,42 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::RoomSipCallTransferRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::RoomSipCallTransferRequest do + let(:instance) { Daily::RoomSipCallTransferRequest.new } + + describe 'test an instance of RoomSipCallTransferRequest' do + it 'should create an instance of RoomSipCallTransferRequest' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::RoomSipCallTransferRequest) + end + end + + describe 'test attribute "session_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "to_end_point"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/waiting_participant_joined_payload_spec.rb b/spec/models/waiting_participant_joined_payload_spec.rb new file mode 100644 index 0000000..883099f --- /dev/null +++ b/spec/models/waiting_participant_joined_payload_spec.rb @@ -0,0 +1,78 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::WaitingParticipantJoinedPayload +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::WaitingParticipantJoinedPayload do + let(:instance) { Daily::WaitingParticipantJoinedPayload.new } + + describe 'test an instance of WaitingParticipantJoinedPayload' do + it 'should create an instance of WaitingParticipantJoinedPayload' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::WaitingParticipantJoinedPayload) + end + end + + describe 'test attribute "joined_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "session_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "room"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "user_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "user_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "owner"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "will_eject_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "permissions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/waiting_participant_joined_spec.rb b/spec/models/waiting_participant_joined_spec.rb new file mode 100644 index 0000000..cf3e994 --- /dev/null +++ b/spec/models/waiting_participant_joined_spec.rb @@ -0,0 +1,58 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::WaitingParticipantJoined +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::WaitingParticipantJoined do + let(:instance) { Daily::WaitingParticipantJoined.new } + + describe 'test an instance of WaitingParticipantJoined' do + it 'should create an instance of WaitingParticipantJoined' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::WaitingParticipantJoined) + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["waiting-participant.joined", "unknown_default_open_api"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "event_ts"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "payload"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/waiting_participant_left_payload_spec.rb b/spec/models/waiting_participant_left_payload_spec.rb new file mode 100644 index 0000000..f80ebdd --- /dev/null +++ b/spec/models/waiting_participant_left_payload_spec.rb @@ -0,0 +1,84 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::WaitingParticipantLeftPayload +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::WaitingParticipantLeftPayload do + let(:instance) { Daily::WaitingParticipantLeftPayload.new } + + describe 'test an instance of WaitingParticipantLeftPayload' do + it 'should create an instance of WaitingParticipantLeftPayload' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::WaitingParticipantLeftPayload) + end + end + + describe 'test attribute "joined_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "duration"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "session_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "room"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "user_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "user_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "owner"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "will_eject_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "permissions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/waiting_participant_left_spec.rb b/spec/models/waiting_participant_left_spec.rb new file mode 100644 index 0000000..41a95b3 --- /dev/null +++ b/spec/models/waiting_participant_left_spec.rb @@ -0,0 +1,58 @@ +=begin +#Daily API + +#The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything + +The version of the OpenAPI document: 1.1.1 +Contact: help@daily.co +Generated by: https://openapi-generator.tech +Generator version: 7.5.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Daily::WaitingParticipantLeft +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Daily::WaitingParticipantLeft do + let(:instance) { Daily::WaitingParticipantLeft.new } + + describe 'test an instance of WaitingParticipantLeft' do + it 'should create an instance of WaitingParticipantLeft' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Daily::WaitingParticipantLeft) + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["waiting-participant.left", "unknown_default_open_api"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "event_ts"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "payload"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 04c5cad..5e59e7b 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.1.1 Contact: help@daily.co Generated by: https://openapi-generator.tech -OpenAPI Generator version: 7.3.0 +Generator version: 7.8.0 =end From c64ed52668e0ad6b74b3ba74d9a47c43cb3577d1 Mon Sep 17 00:00:00 2001 From: James Hush Date: Tue, 27 Aug 2024 18:15:38 +0800 Subject: [PATCH 2/2] Update example.rb --- example.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example.rb b/example.rb index 70148df..b3a375b 100644 --- a/example.rb +++ b/example.rb @@ -13,7 +13,7 @@ room_api_instance = Daily::RoomsApi.new opts = { - room_request: Daily::CreateRoomRequest.new( + create_room_request: Daily::CreateRoomRequest.new( privacy: 'private', properties: { exp: (Time.now + (3600 * 2)).to_i, # Delete the room after two hours