From 734fe89a3152a417db38ca9dec2fc4ed29175a43 Mon Sep 17 00:00:00 2001 From: amariwest-msft <139818906+amariwest-msft@users.noreply.github.com> Date: Mon, 16 Oct 2023 18:40:59 -0500 Subject: [PATCH] Add PauseOnStart Recording Option Swagger (#37102) * generated files from swagger * added pauseonstart option * added pauseonstart option * changed pauseOnStart type to boolean * changed pauseOnStart type to boolean * changed pauseOnStart type to boolean * changed pauseOnStart type to boolean * updated changelog * removed autorest.java --- .../CHANGELOG.md | 1 + .../callautomation/CallRecordingAsync.java | 3 + .../implementation/CallMediasImpl.java | 2 +- .../StartCallRecordingRequestInternal.java | 27 +++++++++ .../models/TranscriptionStatus.java | 46 +++++++++++++++ .../models/TranscriptionStatusDetails.java | 59 +++++++++++++++++++ .../models/TranscriptionUpdate.java | 12 ++-- .../models/StartRecordingOptions.java | 22 +++++++ .../swagger/README.md | 2 +- 9 files changed, 166 insertions(+), 8 deletions(-) create mode 100644 sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/models/TranscriptionStatus.java create mode 100644 sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/models/TranscriptionStatusDetails.java diff --git a/sdk/communication/azure-communication-callautomation/CHANGELOG.md b/sdk/communication/azure-communication-callautomation/CHANGELOG.md index 9e5fc6faf43f4..825dba2fa0dc9 100644 --- a/sdk/communication/azure-communication-callautomation/CHANGELOG.md +++ b/sdk/communication/azure-communication-callautomation/CHANGELOG.md @@ -5,6 +5,7 @@ ### Features Added - Start/Stop continuous DTMF recognition by subscribing/unsubscribing to tones. - Send DTMF tones to a participant in the call +- StartRecording now accepts PauseOnStart. ### Breaking Changes diff --git a/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/CallRecordingAsync.java b/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/CallRecordingAsync.java index 9ef0098900580..c4f48ddde3c25 100644 --- a/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/CallRecordingAsync.java +++ b/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/CallRecordingAsync.java @@ -159,6 +159,9 @@ private StartCallRecordingRequestInternal getStartCallRecordingRequest(StartReco if (options.getRecordingChannel() != null) { request.setRecordingChannelType(RecordingChannelInternal.fromString(options.getRecordingChannel().toString())); } + if (options.getPauseOnStart() != null) { + request.setPauseOnStart(options.getPauseOnStart()); + } if (options.getRecordingStateCallbackUrl() != null) { request.setRecordingStateCallbackUri(options.getRecordingStateCallbackUrl()); } diff --git a/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/CallMediasImpl.java b/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/CallMediasImpl.java index 388cc38ac951a..1e81ba76e9a16 100644 --- a/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/CallMediasImpl.java +++ b/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/CallMediasImpl.java @@ -80,7 +80,7 @@ Mono> startTranscription( @HeaderParam("Accept") String accept, Context context); - @Post("/calling/callConnections/{callConnectionId}:StopTranscripition") + @Post("/calling/callConnections/{callConnectionId}:StopTranscription") @ExpectedResponses({202}) @UnexpectedResponseExceptionType(CommunicationErrorResponseException.class) Mono> stopTranscription( diff --git a/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/models/StartCallRecordingRequestInternal.java b/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/models/StartCallRecordingRequestInternal.java index 1bf4ecee1e935..cefffe2baa743 100644 --- a/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/models/StartCallRecordingRequestInternal.java +++ b/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/models/StartCallRecordingRequestInternal.java @@ -71,6 +71,13 @@ public final class StartCallRecordingRequestInternal { @JsonProperty(value = "externalStorage") private ExternalStorageInternal externalStorage; + /* + * When set to true will start recording in Pause mode, which could be + * resumed. + */ + @JsonProperty(value = "pauseOnStart") + private Boolean pauseOnStart; + /** * Get the callLocator property: The call locator. * @@ -243,4 +250,24 @@ public StartCallRecordingRequestInternal setExternalStorage(ExternalStorageInter this.externalStorage = externalStorage; return this; } + + /** + * Get the pauseOnStart property: When set to true will start recording in Pause mode, which could be resumed. + * + * @return the pauseOnStart value. + */ + public Boolean isPauseOnStart() { + return this.pauseOnStart; + } + + /** + * Set the pauseOnStart property: When set to true will start recording in Pause mode, which could be resumed. + * + * @param pauseOnStart the pauseOnStart value to set. + * @return the StartCallRecordingRequestInternal object itself. + */ + public StartCallRecordingRequestInternal setPauseOnStart(Boolean pauseOnStart) { + this.pauseOnStart = pauseOnStart; + return this; + } } diff --git a/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/models/TranscriptionStatus.java b/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/models/TranscriptionStatus.java new file mode 100644 index 0000000000000..aa41aec2abc98 --- /dev/null +++ b/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/models/TranscriptionStatus.java @@ -0,0 +1,46 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.communication.callautomation.implementation.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for TranscriptionStatus. */ +public final class TranscriptionStatus extends ExpandableStringEnum { + /** Static value transcriptionStarted for TranscriptionStatus. */ + public static final TranscriptionStatus TRANSCRIPTION_STARTED = fromString("transcriptionStarted"); + + /** Static value transcriptionFailed for TranscriptionStatus. */ + public static final TranscriptionStatus TRANSCRIPTION_FAILED = fromString("transcriptionFailed"); + + /** Static value transcriptionResumed for TranscriptionStatus. */ + public static final TranscriptionStatus TRANSCRIPTION_RESUMED = fromString("transcriptionResumed"); + + /** Static value transcriptionLocaleUpdated for TranscriptionStatus. */ + public static final TranscriptionStatus TRANSCRIPTION_LOCALE_UPDATED = fromString("transcriptionLocaleUpdated"); + + /** Static value transcriptionStopped for TranscriptionStatus. */ + public static final TranscriptionStatus TRANSCRIPTION_STOPPED = fromString("transcriptionStopped"); + + /** Static value unspecifiedError for TranscriptionStatus. */ + public static final TranscriptionStatus UNSPECIFIED_ERROR = fromString("unspecifiedError"); + + /** + * Creates or finds a TranscriptionStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding TranscriptionStatus. + */ + @JsonCreator + public static TranscriptionStatus fromString(String name) { + return fromString(name, TranscriptionStatus.class); + } + + /** @return known TranscriptionStatus values. */ + public static Collection values() { + return values(TranscriptionStatus.class); + } +} diff --git a/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/models/TranscriptionStatusDetails.java b/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/models/TranscriptionStatusDetails.java new file mode 100644 index 0000000000000..70928e7d4f7d7 --- /dev/null +++ b/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/models/TranscriptionStatusDetails.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.communication.callautomation.implementation.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for TranscriptionStatusDetails. */ +public final class TranscriptionStatusDetails extends ExpandableStringEnum { + /** Static value subscriptionStarted for TranscriptionStatusDetails. */ + public static final TranscriptionStatusDetails SUBSCRIPTION_STARTED = fromString("subscriptionStarted"); + + /** Static value streamConnectionReestablished for TranscriptionStatusDetails. */ + public static final TranscriptionStatusDetails STREAM_CONNECTION_REESTABLISHED = + fromString("streamConnectionReestablished"); + + /** Static value streamConnectionUnsuccessful for TranscriptionStatusDetails. */ + public static final TranscriptionStatusDetails STREAM_CONNECTION_UNSUCCESSFUL = + fromString("streamConnectionUnsuccessful"); + + /** Static value streamUrlMissing for TranscriptionStatusDetails. */ + public static final TranscriptionStatusDetails STREAM_URL_MISSING = fromString("streamUrlMissing"); + + /** Static value serviceShutdown for TranscriptionStatusDetails. */ + public static final TranscriptionStatusDetails SERVICE_SHUTDOWN = fromString("serviceShutdown"); + + /** Static value streamConnectionInterrupted for TranscriptionStatusDetails. */ + public static final TranscriptionStatusDetails STREAM_CONNECTION_INTERRUPTED = + fromString("streamConnectionInterrupted"); + + /** Static value speechServicesConnectionError for TranscriptionStatusDetails. */ + public static final TranscriptionStatusDetails SPEECH_SERVICES_CONNECTION_ERROR = + fromString("speechServicesConnectionError"); + + /** Static value subscriptionStopped for TranscriptionStatusDetails. */ + public static final TranscriptionStatusDetails SUBSCRIPTION_STOPPED = fromString("subscriptionStopped"); + + /** Static value unspecifiedError for TranscriptionStatusDetails. */ + public static final TranscriptionStatusDetails UNSPECIFIED_ERROR = fromString("unspecifiedError"); + + /** + * Creates or finds a TranscriptionStatusDetails from its string representation. + * + * @param name a name to look for. + * @return the corresponding TranscriptionStatusDetails. + */ + @JsonCreator + public static TranscriptionStatusDetails fromString(String name) { + return fromString(name, TranscriptionStatusDetails.class); + } + + /** @return known TranscriptionStatusDetails values. */ + public static Collection values() { + return values(TranscriptionStatusDetails.class); + } +} diff --git a/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/models/TranscriptionUpdate.java b/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/models/TranscriptionUpdate.java index 751a3a12c4374..4996247fbfb75 100644 --- a/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/models/TranscriptionUpdate.java +++ b/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/implementation/models/TranscriptionUpdate.java @@ -14,20 +14,20 @@ public final class TranscriptionUpdate { * The transcriptionStatus property. */ @JsonProperty(value = "transcriptionStatus") - private String transcriptionStatus; + private TranscriptionStatus transcriptionStatus; /* * The transcriptionStatusDetails property. */ @JsonProperty(value = "transcriptionStatusDetails") - private String transcriptionStatusDetails; + private TranscriptionStatusDetails transcriptionStatusDetails; /** * Get the transcriptionStatus property: The transcriptionStatus property. * * @return the transcriptionStatus value. */ - public String getTranscriptionStatus() { + public TranscriptionStatus getTranscriptionStatus() { return this.transcriptionStatus; } @@ -37,7 +37,7 @@ public String getTranscriptionStatus() { * @param transcriptionStatus the transcriptionStatus value to set. * @return the TranscriptionUpdate object itself. */ - public TranscriptionUpdate setTranscriptionStatus(String transcriptionStatus) { + public TranscriptionUpdate setTranscriptionStatus(TranscriptionStatus transcriptionStatus) { this.transcriptionStatus = transcriptionStatus; return this; } @@ -47,7 +47,7 @@ public TranscriptionUpdate setTranscriptionStatus(String transcriptionStatus) { * * @return the transcriptionStatusDetails value. */ - public String getTranscriptionStatusDetails() { + public TranscriptionStatusDetails getTranscriptionStatusDetails() { return this.transcriptionStatusDetails; } @@ -57,7 +57,7 @@ public String getTranscriptionStatusDetails() { * @param transcriptionStatusDetails the transcriptionStatusDetails value to set. * @return the TranscriptionUpdate object itself. */ - public TranscriptionUpdate setTranscriptionStatusDetails(String transcriptionStatusDetails) { + public TranscriptionUpdate setTranscriptionStatusDetails(TranscriptionStatusDetails transcriptionStatusDetails) { this.transcriptionStatusDetails = transcriptionStatusDetails; return this; } diff --git a/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/models/StartRecordingOptions.java b/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/models/StartRecordingOptions.java index e10d144c05f40..fd3709545f632 100644 --- a/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/models/StartRecordingOptions.java +++ b/sdk/communication/azure-communication-callautomation/src/main/java/com/azure/communication/callautomation/models/StartRecordingOptions.java @@ -27,6 +27,8 @@ public final class StartRecordingOptions { private RecordingFormat recordingFormat; + private Boolean pauseOnStart; + private List audioChannelParticipantOrdering; private List channelAffinity; @@ -132,6 +134,26 @@ public StartRecordingOptions setRecordingFormat(RecordingFormat recordingFormat) return this; } + /** + * Get pause on start. + * + * @return pause on start. + */ + public Boolean getPauseOnStart() { + return pauseOnStart; + } + + /** + * Set the pause on start property. + * + * @param pauseOnStart the {@link pauseOnStart}. + * @return the {@link StartRecordingOptions} + */ + public StartRecordingOptions setPauseOnStart(Boolean pauseOnStart) { + this.pauseOnStart = pauseOnStart; + return this; + } + /** * Get the audioChannelParticipantOrdering property: The sequential order in which audio channels are assigned to * participants in the unmixed recording. When 'recordingChannelType' is set to 'unmixed' and diff --git a/sdk/communication/azure-communication-callautomation/swagger/README.md b/sdk/communication/azure-communication-callautomation/swagger/README.md index 376e88c5559c9..8e748e93ae81c 100644 --- a/sdk/communication/azure-communication-callautomation/swagger/README.md +++ b/sdk/communication/azure-communication-callautomation/swagger/README.md @@ -28,7 +28,7 @@ autorest README.md --java --v4 --use=@autorest/java@4.0.20 --use=@autorest/model ``` yaml tag: package-2023-01-15-preview require: - - https://github.com/williamzhao87/azure-rest-api-specs/blob/8f5bd72f81f7fa9020f6834f06f3db54a475ee68/specification/communication/data-plane/CallAutomation/readme.md + - https://github.com/williamzhao87/azure-rest-api-specs/blob/5b7321a923a30b83b978e3a30ed1d497e35052fd/specification/communication/data-plane/CallAutomation/readme.md java: true output-folder: ../ license-header: MICROSOFT_MIT_SMALL