Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion eng/versioning/version_client.txt
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ com.azure:azure-analytics-synapse-monitoring;1.0.0-beta.4;1.0.0-beta.5
com.azure:azure-code-customization-parent;1.0.0-beta.1;1.0.0-beta.1
com.azure:azure-communication-callautomation;1.3.3;1.5.0-beta.1
com.azure:azure-communication-callingserver;1.0.0-beta.4;1.0.0-beta.5
com.azure:azure-communication-chat;1.5.9;1.6.0
com.azure:azure-communication-chat;1.6.0;1.6.1
com.azure:azure-communication-common;1.4.0;1.5.0-beta.1
com.azure:azure-communication-common-perf;1.0.0-beta.1;1.0.0-beta.1
com.azure:azure-communication-email;1.0.21;1.1.0-beta.2
Expand Down
6 changes: 6 additions & 0 deletions sdk/communication/azure-communication-chat/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Release History

## 1.6.1 (2025-08-05)

### Other Changes
- Added support for a new communication identifier `TeamsExtensionUserIdentifierModel`.
- Added properties for communication identifier 'PhoneNumberIdentifierModel'.

## 1.6.0 (2025-06-18)

### Features Added
Expand Down
2 changes: 1 addition & 1 deletion sdk/communication/azure-communication-chat/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ add the direct dependency to your project as follows.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-chat</artifactId>
<version>1.6.0</version>
<version>1.6.1</version>
</dependency>
```

Expand Down
2 changes: 1 addition & 1 deletion sdk/communication/azure-communication-chat/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

<groupId>com.azure</groupId>
<artifactId>azure-communication-chat</artifactId>
<version>1.6.0</version> <!-- {x-version-update;com.azure:azure-communication-chat;current} -->
<version>1.6.1</version> <!-- {x-version-update;com.azure:azure-communication-chat;current} -->

<name>Microsoft Azure client library for chat application</name>
<description>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,11 @@ public final class CommunicationIdentifierModel implements JsonSerializable<Comm
*/
private MicrosoftTeamsAppIdentifierModel microsoftTeamsApp;

/*
* The Microsoft Teams Extension user.
*/
private TeamsExtensionUserIdentifierModel teamsExtensionUser;

/**
* Creates an instance of CommunicationIdentifierModel class.
*/
Expand Down Expand Up @@ -174,6 +179,26 @@ public CommunicationIdentifierModel setMicrosoftTeamsApp(MicrosoftTeamsAppIdenti
return this;
}

/**
* Get the teamsExtensionUser property: The Microsoft Teams Extension user.
*
* @return the teamsExtensionUser value.
*/
public TeamsExtensionUserIdentifierModel getTeamsExtensionUser() {
return this.teamsExtensionUser;
}

/**
* Set the teamsExtensionUser property: The Microsoft Teams Extension user.
*
* @param teamsExtensionUser the teamsExtensionUser value to set.
* @return the CommunicationIdentifierModel object itself.
*/
public CommunicationIdentifierModel setTeamsExtensionUser(TeamsExtensionUserIdentifierModel teamsExtensionUser) {
this.teamsExtensionUser = teamsExtensionUser;
return this;
}

/**
* {@inheritDoc}
*/
Expand All @@ -186,6 +211,7 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeJsonField("phoneNumber", this.phoneNumber);
jsonWriter.writeJsonField("microsoftTeamsUser", this.microsoftTeamsUser);
jsonWriter.writeJsonField("microsoftTeamsApp", this.microsoftTeamsApp);
jsonWriter.writeJsonField("teamsExtensionUser", this.teamsExtensionUser);
return jsonWriter.writeEndObject();
}

Expand Down Expand Up @@ -220,6 +246,9 @@ public static CommunicationIdentifierModel fromJson(JsonReader jsonReader) throw
} else if ("microsoftTeamsApp".equals(fieldName)) {
deserializedCommunicationIdentifierModel.microsoftTeamsApp
= MicrosoftTeamsAppIdentifierModel.fromJson(reader);
} else if ("teamsExtensionUser".equals(fieldName)) {
deserializedCommunicationIdentifierModel.teamsExtensionUser
= TeamsExtensionUserIdentifierModel.fromJson(reader);
} else {
reader.skipChildren();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@ public final class CommunicationIdentifierModelKind extends ExpandableStringEnum
*/
public static final CommunicationIdentifierModelKind MICROSOFT_TEAMS_APP = fromString("microsoftTeamsApp");

/**
* Static value teamsExtensionUser for CommunicationIdentifierModelKind.
*/
public static final CommunicationIdentifierModelKind TEAMS_EXTENSION_USER = fromString("teamsExtensionUser");

/**
* Creates a new instance of CommunicationIdentifierModelKind value.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public CreateChatThreadOptions() {
/**
* Get the topic property: The chat thread topic.
*
* @return the topic.
* @return the topic value.
*/
public String getTopic() {
return this.topic;
Expand All @@ -68,7 +68,7 @@ public CreateChatThreadOptions setTopic(String topic) {
/**
* Get the participants property: Participants to be added to the chat thread.
*
* @return the participants.
* @return the participants value.
*/
public List<ChatParticipant> getParticipants() {
return this.participants;
Expand All @@ -77,7 +77,7 @@ public List<ChatParticipant> getParticipants() {
/**
* Set the participants property: Participants to be added to the chat thread.
*
* @param participants the participants to set.
* @param participants the participants value to set.
* @return the CreateChatThreadOptions object itself.
*/
public CreateChatThreadOptions setParticipants(List<ChatParticipant> participants) {
Expand All @@ -89,7 +89,7 @@ public CreateChatThreadOptions setParticipants(List<ChatParticipant> participant
* Get the metadata property: Contextual metadata for the thread. The metadata consists of name/value pairs. The
* total size of all metadata pairs can be up to 1KB in size.
*
* @return the metadata.
* @return the metadata value.
*/
public Map<String, String> getMetadata() {
return this.metadata;
Expand All @@ -110,7 +110,7 @@ public CreateChatThreadOptions setMetadata(Map<String, String> metadata) {
/**
* Get the retentionPolicy property: Data retention policy for auto deletion.
*
* @return the retentionPolicy.
* @return the retentionPolicy value.
*/
public ChatRetentionPolicy getRetentionPolicy() {
return this.retentionPolicy;
Expand All @@ -135,9 +135,7 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStartObject();
jsonWriter.writeStringField("topic", this.topic);
jsonWriter.writeArrayField("participants", this.participants, (writer, element) -> writer.writeJson(element));
if (this.metadata != null) {
jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element));
}
jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element));
jsonWriter.writeJsonField("retentionPolicy", this.retentionPolicy);
return jsonWriter.writeEndObject();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
@Fluent
public final class MicrosoftTeamsUserIdentifierModel implements JsonSerializable<MicrosoftTeamsUserIdentifierModel> {
/*
* The Id of the Microsoft Teams user. If not anonymous, this is the AAD object Id of the user.
* The Id of the Microsoft Teams user. If not anonymous, this is the Entra ID object Id of the user.
*/
private String userId;

Expand All @@ -38,8 +38,8 @@ public MicrosoftTeamsUserIdentifierModel() {
}

/**
* Get the userId property: The Id of the Microsoft Teams user. If not anonymous, this is the AAD object Id of the
* user.
* Get the userId property: The Id of the Microsoft Teams user. If not anonymous, this is the Entra ID object Id of
* the user.
*
* @return the userId value.
*/
Expand All @@ -48,8 +48,8 @@ public String getUserId() {
}

/**
* Set the userId property: The Id of the Microsoft Teams user. If not anonymous, this is the AAD object Id of the
* user.
* Set the userId property: The Id of the Microsoft Teams user. If not anonymous, this is the Entra ID object Id of
* the user.
*
* @param userId the userId value to set.
* @return the MicrosoftTeamsUserIdentifierModel object itself.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,30 @@
@Fluent
public final class PhoneNumberIdentifierModel implements JsonSerializable<PhoneNumberIdentifierModel> {
/*
* The phone number in E.164 format.
* The phone number, usually in E.164 format.
*/
private String value;

/*
* True if the phone number is anonymous. By default false if missing. If the phone number is anonymous, the value
* will be the string 'anonymous'.
*/
private Boolean isAnonymous;

/*
* The asserted Id of the phone number. An asserted Id gets generated when the same phone number joins the same call
* more than once.
*/
private String assertedId;

/**
* Creates an instance of PhoneNumberIdentifierModel class.
*/
public PhoneNumberIdentifierModel() {
}

/**
* Get the value property: The phone number in E.164 format.
* Get the value property: The phone number, usually in E.164 format.
*
* @return the value value.
*/
Expand All @@ -37,7 +49,7 @@ public String getValue() {
}

/**
* Set the value property: The phone number in E.164 format.
* Set the value property: The phone number, usually in E.164 format.
*
* @param value the value value to set.
* @return the PhoneNumberIdentifierModel object itself.
Expand All @@ -47,13 +59,59 @@ public PhoneNumberIdentifierModel setValue(String value) {
return this;
}

/**
* Get the isAnonymous property: True if the phone number is anonymous. By default false if missing. If the phone
* number is anonymous, the value will be the string 'anonymous'.
*
* @return the isAnonymous value.
*/
public Boolean isAnonymous() {
return this.isAnonymous;
}

/**
* Set the isAnonymous property: True if the phone number is anonymous. By default false if missing. If the phone
* number is anonymous, the value will be the string 'anonymous'.
*
* @param isAnonymous the isAnonymous value to set.
* @return the PhoneNumberIdentifierModel object itself.
*/
public PhoneNumberIdentifierModel setIsAnonymous(Boolean isAnonymous) {
this.isAnonymous = isAnonymous;
return this;
}

/**
* Get the assertedId property: The asserted Id of the phone number. An asserted Id gets generated when the same
* phone number joins the same call more than once.
*
* @return the assertedId value.
*/
public String getAssertedId() {
return this.assertedId;
}

/**
* Set the assertedId property: The asserted Id of the phone number. An asserted Id gets generated when the same
* phone number joins the same call more than once.
*
* @param assertedId the assertedId value to set.
* @return the PhoneNumberIdentifierModel object itself.
*/
public PhoneNumberIdentifierModel setAssertedId(String assertedId) {
this.assertedId = assertedId;
return this;
}

/**
* {@inheritDoc}
*/
@Override
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStartObject();
jsonWriter.writeStringField("value", this.value);
jsonWriter.writeBooleanField("isAnonymous", this.isAnonymous);
jsonWriter.writeStringField("assertedId", this.assertedId);
return jsonWriter.writeEndObject();
}

Expand All @@ -75,6 +133,10 @@ public static PhoneNumberIdentifierModel fromJson(JsonReader jsonReader) throws

if ("value".equals(fieldName)) {
deserializedPhoneNumberIdentifierModel.value = reader.getString();
} else if ("isAnonymous".equals(fieldName)) {
deserializedPhoneNumberIdentifierModel.isAnonymous = reader.getNullable(JsonReader::getBoolean);
} else if ("assertedId".equals(fieldName)) {
deserializedPhoneNumberIdentifierModel.assertedId = reader.getString();
} else {
reader.skipChildren();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ To update generated files for chat service, run the following command
tag: package-chat-2025-03-15
use: '@autorest/[email protected]'
require:
- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/b97334ac101d4a5e6556e4d67d1bcdd46fc12139/specification/communication/data-plane/Chat/readme.md
- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/667a97d5f042267a465b1e9b3e67325fccb13153/specification/communication/data-plane/Chat/readme.md
java: true
title: AzureCommunicationChatService
output-folder: ..\
Expand Down