@azure/communication-chat 1.1.0-beta.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -2
- package/dist/index.js +91 -194
- package/dist/index.js.map +1 -1
- package/dist-esm/src/chatClient.js +11 -25
- package/dist-esm/src/chatClient.js.map +1 -1
- package/dist-esm/src/chatThreadClient.js +19 -35
- package/dist-esm/src/chatThreadClient.js.map +1 -1
- package/dist-esm/src/credential/communicationTokenCredentialPolicy.js +8 -4
- package/dist-esm/src/credential/communicationTokenCredentialPolicy.js.map +1 -1
- package/dist-esm/src/generated/src/chatApiClient.js +3 -3
- package/dist-esm/src/generated/src/chatApiClient.js.map +1 -1
- package/dist-esm/src/generated/src/chatApiClientContext.js +14 -12
- package/dist-esm/src/generated/src/chatApiClientContext.js.map +1 -1
- package/dist-esm/src/generated/src/index.js +1 -0
- package/dist-esm/src/generated/src/index.js.map +1 -1
- package/dist-esm/src/generated/src/models/index.js +7 -1
- package/dist-esm/src/generated/src/models/index.js.map +1 -1
- package/dist-esm/src/generated/src/models/mappers.js.map +1 -1
- package/dist-esm/src/generated/src/models/parameters.js +1 -1
- package/dist-esm/src/generated/src/models/parameters.js.map +1 -1
- package/dist-esm/src/generated/src/operations/chat.js +8 -23
- package/dist-esm/src/generated/src/operations/chat.js.map +1 -1
- package/dist-esm/src/generated/src/operations/chatThread.js +20 -96
- package/dist-esm/src/generated/src/operations/chatThread.js.map +1 -1
- package/dist-esm/src/generated/src/operationsInterfaces/chat.js +9 -0
- package/dist-esm/src/generated/src/operationsInterfaces/chat.js.map +1 -0
- package/dist-esm/src/generated/src/operationsInterfaces/chatThread.js +9 -0
- package/dist-esm/src/generated/src/operationsInterfaces/chatThread.js.map +1 -0
- package/dist-esm/src/generated/src/operationsInterfaces/index.js +10 -0
- package/dist-esm/src/generated/src/operationsInterfaces/index.js.map +1 -0
- package/dist-esm/src/models/options.js.map +1 -1
- package/dist-esm/src/models/uuid.js +13 -0
- package/dist-esm/src/models/uuid.js.map +1 -0
- package/package.json +12 -13
- package/types/communication-chat.d.ts +8 -8
- package/types/src/chatClient.d.ts +0 -1
- package/types/src/chatClient.d.ts.map +1 -1
- package/types/src/chatThreadClient.d.ts.map +1 -1
- package/types/src/credential/communicationTokenCredentialPolicy.d.ts +2 -2
- package/types/src/credential/communicationTokenCredentialPolicy.d.ts.map +1 -1
- package/types/src/generated/src/chatApiClient.d.ts +1 -1
- package/types/src/generated/src/chatApiClient.d.ts.map +1 -1
- package/types/src/generated/src/chatApiClientContext.d.ts +2 -2
- package/types/src/generated/src/chatApiClientContext.d.ts.map +1 -1
- package/types/src/generated/src/index.d.ts +1 -0
- package/types/src/generated/src/index.d.ts.map +1 -1
- package/types/src/generated/src/models/index.d.ts +57 -131
- package/types/src/generated/src/models/index.d.ts.map +1 -1
- package/types/src/generated/src/models/mappers.d.ts +27 -27
- package/types/src/generated/src/models/mappers.d.ts.map +1 -1
- package/types/src/generated/src/models/parameters.d.ts +1 -1
- package/types/src/generated/src/models/parameters.d.ts.map +1 -1
- package/types/src/generated/src/operations/chat.d.ts +7 -7
- package/types/src/generated/src/operations/chat.d.ts.map +1 -1
- package/types/src/generated/src/operations/chatThread.d.ts +16 -16
- package/types/src/generated/src/operations/chatThread.d.ts.map +1 -1
- package/types/src/generated/src/operationsInterfaces/chat.d.ts +28 -0
- package/types/src/generated/src/operationsInterfaces/chat.d.ts.map +1 -0
- package/types/src/generated/src/operationsInterfaces/chatThread.d.ts +113 -0
- package/types/src/generated/src/operationsInterfaces/chatThread.d.ts.map +1 -0
- package/types/src/generated/src/operationsInterfaces/index.d.ts +3 -0
- package/types/src/generated/src/operationsInterfaces/index.d.ts.map +1 -0
- package/types/src/models/options.d.ts +2 -2
- package/types/src/models/options.d.ts.map +1 -1
- package/types/src/models/uuid.d.ts +8 -0
- package/types/src/models/uuid.d.ts.map +1 -0
- package/types/test/internal/utils/mockClient.d.ts +1 -1
- package/types/test/internal/utils/mockClient.d.ts.map +1 -1
- package/types/test/public/utils/connectionUtils.d.ts +1 -1
- package/types/test/public/utils/connectionUtils.d.ts.map +1 -1
- package/types/test/public/utils/recordedClient.d.ts +1 -1
- package/types/test/public/utils/recordedClient.d.ts.map +1 -1
- package/dist-esm/src/constants.js +0 -4
- package/dist-esm/src/constants.js.map +0 -1
- package/types/src/constants.d.ts +0 -2
- package/types/src/constants.d.ts.map +0 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/models/logger.ts","../src/constants.ts","../src/signaling/signalingClient.ts","../src/tracing.ts","../src/models/mappers.ts","../src/generated/src/models/mappers.ts","../src/generated/src/models/parameters.ts","../src/generated/src/operations/chatThread.ts","../src/generated/src/operations/chat.ts","../src/generated/src/chatApiClientContext.ts","../src/generated/src/chatApiClient.ts","../src/credential/communicationTokenCredentialPolicy.ts","../src/chatThreadClient.ts","../src/chatClient.ts"],"sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createClientLogger } from \"@azure/logger\";\n\nexport const logger = createClientLogger(\"communication-chat\");\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport const SDK_VERSION: string = \"1.1.0-beta.2\";\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CommunicationSignalingClient, SignalingClient } from \"@azure/communication-signaling\";\nimport { CommunicationTokenCredential } from \"@azure/communication-common\";\nimport { AzureLogger } from \"@azure/logger\";\n\nexport const getSignalingClient = (\n credential: CommunicationTokenCredential,\n logger: AzureLogger\n): SignalingClient | undefined => {\n if (typeof navigator !== \"undefined\" && navigator.product === \"ReactNative\") {\n // In React Native\n return new CommunicationSignalingClient(credential, logger);\n }\n\n // In node js\n return undefined;\n};\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createSpanFunction } from \"@azure/core-tracing\";\n\n/**\n * Creates a span using the global tracer.\n * @internal\n */\nexport const createSpan = createSpanFunction({\n packagePrefix: \"Azure.Communication\",\n namespace: \"Microsoft.Communication\"\n});\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n deserializeCommunicationIdentifier,\n serializeCommunicationIdentifier,\n SerializedCommunicationIdentifier\n} from \"@azure/communication-common\";\nimport * as RestModel from \"../generated/src/models\";\nimport { AddParticipantsRequest } from \"./requests\";\nimport { CreateChatThreadOptions } from \"./options\";\nimport {\n ChatMessage,\n ChatThreadProperties,\n ChatParticipant,\n ChatMessageReadReceipt,\n ChatMessageContent,\n CreateChatThreadResult\n} from \"./models\";\n\nexport const mapToCreateChatThreadOptionsRestModel = (\n options: CreateChatThreadOptions\n): RestModel.ChatCreateChatThreadOptionalParams => {\n const { participants, idempotencyToken, ...rest } = options;\n return {\n repeatabilityRequestId: idempotencyToken,\n ...rest\n };\n};\n\n/**\n * @internal\n * Mapping chat participant customer model to chat participant REST model\n */\nexport const mapToChatParticipantRestModel = (\n chatParticipant: ChatParticipant\n): RestModel.ChatParticipant => {\n const { id, ...rest } = chatParticipant;\n return {\n ...rest,\n communicationIdentifier: serializeCommunicationIdentifier(id)\n };\n};\n\n/**\n * @internal\n * Mapping add participants request to add chat participants request REST model\n */\nexport const mapToAddChatParticipantsRequestRestModel = (\n addParticipantsRequest: AddParticipantsRequest\n): RestModel.AddChatParticipantsRequest => {\n return {\n participants: addParticipantsRequest.participants?.map((participant) =>\n mapToChatParticipantRestModel(participant)\n )\n };\n};\n\n/**\n * @internal\n * Mapping chat participant REST model to chat participant SDK model\n */\nexport const mapToChatParticipantSdkModel = (\n chatParticipant: RestModel.ChatParticipant\n): ChatParticipant => {\n const { communicationIdentifier, ...rest } = chatParticipant;\n return {\n ...rest,\n id: deserializeCommunicationIdentifier(\n communicationIdentifier as SerializedCommunicationIdentifier\n )\n };\n};\n\n/**\n * @internal\n */\nexport const mapToChatContentSdkModel = (\n content: RestModel.ChatMessageContent\n): ChatMessageContent => {\n const { participants, initiatorCommunicationIdentifier, ...otherChatContents } = content;\n let result: ChatMessageContent = { ...otherChatContents };\n if (initiatorCommunicationIdentifier) {\n const initiator = deserializeCommunicationIdentifier(\n initiatorCommunicationIdentifier as SerializedCommunicationIdentifier\n );\n result = { ...result, initiator };\n }\n if (participants) {\n result = {\n ...result,\n participants: participants?.map((participant) => mapToChatParticipantSdkModel(participant))\n };\n }\n return result;\n};\n\n/**\n * @internal\n * Mapping chat message REST model to chat message SDK model\n */\nexport const mapToChatMessageSdkModel = (chatMessage: RestModel.ChatMessage): ChatMessage => {\n const { content, senderCommunicationIdentifier, ...otherChatMessage } = chatMessage;\n let result: ChatMessage = { ...otherChatMessage };\n if (content) {\n result = {\n ...result,\n content: mapToChatContentSdkModel(content)\n };\n }\n if (senderCommunicationIdentifier) {\n const sender = deserializeCommunicationIdentifier(\n senderCommunicationIdentifier as SerializedCommunicationIdentifier\n );\n result = { ...result, sender };\n }\n return result;\n};\n\n/**\n * @internal\n * Mapping chat messages collection REST model to chat message SDK model array\n */\nexport const mapToChatMessagesSdkModelArray = (\n chatMessagesCollection: RestModel.ChatMessagesCollection\n): ChatMessage[] => {\n return chatMessagesCollection.value?.map((chatMessage) => mapToChatMessageSdkModel(chatMessage));\n};\n\n/**\n * @internal\n * Mapping chat thread REST model to chat thread SDK model\n */\nexport const mapToChatThreadPropertiesSdkModel = (\n chatThread: RestModel.ChatThreadProperties\n): ChatThreadProperties => {\n const { createdByCommunicationIdentifier, ...rest } = chatThread;\n if (createdByCommunicationIdentifier) {\n return {\n ...rest,\n createdBy: deserializeCommunicationIdentifier(\n createdByCommunicationIdentifier as SerializedCommunicationIdentifier\n )\n };\n } else {\n return { ...rest };\n }\n};\n\n/**\n * @internal\n * Mapping chat thread REST model to chat thread SDK model\n */\nexport const mapToCreateChatThreadResultSdkModel = (\n result: RestModel.CreateChatThreadResult\n): CreateChatThreadResult => {\n const { chatThread, ...rest } = result;\n if (chatThread) {\n return {\n ...rest,\n chatThread: mapToChatThreadPropertiesSdkModel(chatThread)\n };\n } else {\n return { ...rest };\n }\n};\n\n/**\n * @internal\n * Mapping read receipt REST model to read receipt SDK model\n */\nexport const mapToReadReceiptSdkModel = (\n readReceipt: RestModel.ChatMessageReadReceipt\n): ChatMessageReadReceipt => {\n const { senderCommunicationIdentifier, ...rest } = readReceipt;\n return {\n ...rest,\n sender: deserializeCommunicationIdentifier(\n senderCommunicationIdentifier as SerializedCommunicationIdentifier\n )\n };\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreHttp from \"@azure/core-http\";\n\nexport const ChatMessageReadReceiptsCollection: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessageReadReceiptsCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatMessageReadReceipt\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ChatMessageReadReceipt: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessageReadReceipt\",\n modelProperties: {\n senderCommunicationIdentifier: {\n serializedName: \"senderCommunicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n },\n chatMessageId: {\n serializedName: \"chatMessageId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n readOn: {\n serializedName: \"readOn\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentifierModel: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\",\n modelProperties: {\n rawId: {\n serializedName: \"rawId\",\n type: {\n name: \"String\"\n }\n },\n communicationUser: {\n serializedName: \"communicationUser\",\n type: {\n name: \"Composite\",\n className: \"CommunicationUserIdentifierModel\"\n }\n },\n phoneNumber: {\n serializedName: \"phoneNumber\",\n type: {\n name: \"Composite\",\n className: \"PhoneNumberIdentifierModel\"\n }\n },\n microsoftTeamsUser: {\n serializedName: \"microsoftTeamsUser\",\n type: {\n name: \"Composite\",\n className: \"MicrosoftTeamsUserIdentifierModel\"\n }\n }\n }\n }\n};\n\nexport const CommunicationUserIdentifierModel: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationUserIdentifierModel\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PhoneNumberIdentifierModel: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PhoneNumberIdentifierModel\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const MicrosoftTeamsUserIdentifierModel: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MicrosoftTeamsUserIdentifierModel\",\n modelProperties: {\n userId: {\n serializedName: \"userId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n isAnonymous: {\n serializedName: \"isAnonymous\",\n type: {\n name: \"Boolean\"\n }\n },\n cloud: {\n serializedName: \"cloud\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CommunicationErrorResponse: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationErrorResponse\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n }\n};\n\nexport const ChatError: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatError\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n target: {\n serializedName: \"target\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n },\n innerError: {\n serializedName: \"innererror\",\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n }\n};\n\nexport const SendReadReceiptRequest: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SendReadReceiptRequest\",\n modelProperties: {\n chatMessageId: {\n serializedName: \"chatMessageId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SendChatMessageRequest: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SendChatMessageRequest\",\n modelProperties: {\n content: {\n serializedName: \"content\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n senderDisplayName: {\n serializedName: \"senderDisplayName\",\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"text\",\n \"html\",\n \"topicUpdated\",\n \"participantAdded\",\n \"participantRemoved\"\n ]\n }\n },\n metadata: {\n serializedName: \"metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const SendChatMessageResult: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SendChatMessageResult\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ChatMessagesCollection: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessagesCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatMessage\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ChatMessage: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessage\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\n \"text\",\n \"html\",\n \"topicUpdated\",\n \"participantAdded\",\n \"participantRemoved\"\n ]\n }\n },\n sequenceId: {\n serializedName: \"sequenceId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n version: {\n serializedName: \"version\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n content: {\n serializedName: \"content\",\n type: {\n name: \"Composite\",\n className: \"ChatMessageContent\"\n }\n },\n senderDisplayName: {\n serializedName: \"senderDisplayName\",\n type: {\n name: \"String\"\n }\n },\n createdOn: {\n serializedName: \"createdOn\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n },\n senderCommunicationIdentifier: {\n serializedName: \"senderCommunicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n },\n deletedOn: {\n serializedName: \"deletedOn\",\n type: {\n name: \"DateTime\"\n }\n },\n editedOn: {\n serializedName: \"editedOn\",\n type: {\n name: \"DateTime\"\n }\n },\n metadata: {\n serializedName: \"metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const ChatMessageContent: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessageContent\",\n modelProperties: {\n message: {\n serializedName: \"message\",\n type: {\n name: \"String\"\n }\n },\n topic: {\n serializedName: \"topic\",\n type: {\n name: \"String\"\n }\n },\n participants: {\n serializedName: \"participants\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\"\n }\n }\n }\n },\n initiatorCommunicationIdentifier: {\n serializedName: \"initiatorCommunicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n }\n }\n }\n};\n\nexport const ChatParticipant: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\",\n modelProperties: {\n communicationIdentifier: {\n serializedName: \"communicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n },\n displayName: {\n serializedName: \"displayName\",\n type: {\n name: \"String\"\n }\n },\n shareHistoryTime: {\n serializedName: \"shareHistoryTime\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const UpdateChatMessageRequest: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"UpdateChatMessageRequest\",\n modelProperties: {\n content: {\n serializedName: \"content\",\n type: {\n name: \"String\"\n }\n },\n metadata: {\n serializedName: \"metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const ChatParticipantsCollection: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatParticipantsCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AddChatParticipantsRequest: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AddChatParticipantsRequest\",\n modelProperties: {\n participants: {\n serializedName: \"participants\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const AddChatParticipantsResult: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AddChatParticipantsResult\",\n modelProperties: {\n invalidParticipants: {\n serializedName: \"invalidParticipants\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const CreateChatThreadRequest: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CreateChatThreadRequest\",\n modelProperties: {\n topic: {\n serializedName: \"topic\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n participants: {\n serializedName: \"participants\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const CreateChatThreadResult: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CreateChatThreadResult\",\n modelProperties: {\n chatThread: {\n serializedName: \"chatThread\",\n type: {\n name: \"Composite\",\n className: \"ChatThreadProperties\"\n }\n },\n invalidParticipants: {\n serializedName: \"invalidParticipants\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ChatThreadProperties: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatThreadProperties\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n topic: {\n serializedName: \"topic\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n createdOn: {\n serializedName: \"createdOn\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n },\n createdByCommunicationIdentifier: {\n serializedName: \"createdByCommunicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n },\n deletedOn: {\n serializedName: \"deletedOn\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const ChatThreadsItemCollection: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatThreadsItemCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatThreadItem\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ChatThreadItem: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatThreadItem\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n topic: {\n serializedName: \"topic\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n deletedOn: {\n serializedName: \"deletedOn\",\n type: {\n name: \"DateTime\"\n }\n },\n lastMessageReceivedOn: {\n serializedName: \"lastMessageReceivedOn\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const UpdateChatThreadRequest: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"UpdateChatThreadRequest\",\n modelProperties: {\n topic: {\n serializedName: \"topic\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SendTypingNotificationRequest: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SendTypingNotificationRequest\",\n modelProperties: {\n senderDisplayName: {\n serializedName: \"senderDisplayName\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-http\";\nimport {\n SendReadReceiptRequest as SendReadReceiptRequestMapper,\n SendChatMessageRequest as SendChatMessageRequestMapper,\n UpdateChatMessageRequest as UpdateChatMessageRequestMapper,\n CommunicationIdentifierModel as CommunicationIdentifierModelMapper,\n AddChatParticipantsRequest as AddChatParticipantsRequestMapper,\n UpdateChatThreadRequest as UpdateChatThreadRequestMapper,\n SendTypingNotificationRequest as SendTypingNotificationRequestMapper,\n CreateChatThreadRequest as CreateChatThreadRequestMapper\n} from \"../models/mappers\";\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const endpoint: OperationURLParameter = {\n parameterPath: \"endpoint\",\n mapper: {\n serializedName: \"endpoint\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const chatThreadId: OperationURLParameter = {\n parameterPath: \"chatThreadId\",\n mapper: {\n serializedName: \"chatThreadId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const maxPageSize: OperationQueryParameter = {\n parameterPath: [\"options\", \"maxPageSize\"],\n mapper: {\n serializedName: \"maxPageSize\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const skip: OperationQueryParameter = {\n parameterPath: [\"options\", \"skip\"],\n mapper: {\n serializedName: \"skip\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2021-04-05-preview6\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const sendReadReceiptRequest: OperationParameter = {\n parameterPath: \"sendReadReceiptRequest\",\n mapper: SendReadReceiptRequestMapper\n};\n\nexport const sendChatMessageRequest: OperationParameter = {\n parameterPath: \"sendChatMessageRequest\",\n mapper: SendChatMessageRequestMapper\n};\n\nexport const startTime: OperationQueryParameter = {\n parameterPath: [\"options\", \"startTime\"],\n mapper: {\n serializedName: \"startTime\",\n type: {\n name: \"DateTime\"\n }\n }\n};\n\nexport const chatMessageId: OperationURLParameter = {\n parameterPath: \"chatMessageId\",\n mapper: {\n serializedName: \"chatMessageId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType1: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/merge-patch+json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const updateChatMessageRequest: OperationParameter = {\n parameterPath: \"updateChatMessageRequest\",\n mapper: UpdateChatMessageRequestMapper\n};\n\nexport const participantCommunicationIdentifier: OperationParameter = {\n parameterPath: \"participantCommunicationIdentifier\",\n mapper: CommunicationIdentifierModelMapper\n};\n\nexport const addChatParticipantsRequest: OperationParameter = {\n parameterPath: \"addChatParticipantsRequest\",\n mapper: AddChatParticipantsRequestMapper\n};\n\nexport const updateChatThreadRequest: OperationParameter = {\n parameterPath: \"updateChatThreadRequest\",\n mapper: UpdateChatThreadRequestMapper\n};\n\nexport const sendTypingNotificationRequest: OperationParameter = {\n parameterPath: [\"options\", \"sendTypingNotificationRequest\"],\n mapper: SendTypingNotificationRequestMapper\n};\n\nexport const nextLink: OperationURLParameter = {\n parameterPath: \"nextLink\",\n mapper: {\n serializedName: \"nextLink\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const createChatThreadRequest: OperationParameter = {\n parameterPath: \"createChatThreadRequest\",\n mapper: CreateChatThreadRequestMapper\n};\n\nexport const repeatabilityRequestId: OperationParameter = {\n parameterPath: [\"options\", \"repeatabilityRequestId\"],\n mapper: {\n serializedName: \"repeatability-request-id\",\n type: {\n name: \"String\"\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreHttp from \"@azure/core-http\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { ChatApiClient } from \"../chatApiClient\";\nimport {\n ChatThreadListChatReadReceiptsOptionalParams,\n ChatThreadListChatReadReceiptsResponse,\n SendReadReceiptRequest,\n SendChatMessageRequest,\n ChatThreadSendChatMessageResponse,\n ChatThreadListChatMessagesOptionalParams,\n ChatThreadListChatMessagesResponse,\n ChatThreadGetChatMessageResponse,\n UpdateChatMessageRequest,\n ChatThreadListChatParticipantsOptionalParams,\n ChatThreadListChatParticipantsResponse,\n CommunicationIdentifierModel,\n AddChatParticipantsRequest,\n ChatThreadAddChatParticipantsResponse,\n UpdateChatThreadRequest,\n ChatThreadGetChatThreadPropertiesResponse,\n ChatThreadSendTypingNotificationOptionalParams,\n ChatThreadListChatReadReceiptsNextOptionalParams,\n ChatThreadListChatReadReceiptsNextResponse,\n ChatThreadListChatMessagesNextOptionalParams,\n ChatThreadListChatMessagesNextResponse,\n ChatThreadListChatParticipantsNextOptionalParams,\n ChatThreadListChatParticipantsNextResponse\n} from \"../models\";\n\n/** Class representing a ChatThread. */\nexport class ChatThread {\n private readonly client: ChatApiClient;\n\n /**\n * Initialize a new instance of the class ChatThread class.\n * @param client Reference to the service client\n */\n constructor(client: ChatApiClient) {\n this.client = client;\n }\n\n /**\n * Gets chat message read receipts for a thread.\n * @param chatThreadId Thread id to get the chat message read receipts for.\n * @param options The options parameters.\n */\n listChatReadReceipts(\n chatThreadId: string,\n options?: ChatThreadListChatReadReceiptsOptionalParams\n ): Promise<ChatThreadListChatReadReceiptsResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n chatThreadId,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n listChatReadReceiptsOperationSpec\n ) as Promise<ChatThreadListChatReadReceiptsResponse>;\n }\n\n /**\n * Sends a read receipt event to a thread, on behalf of a user.\n * @param chatThreadId Thread id to send the read receipt event to.\n * @param sendReadReceiptRequest Read receipt details.\n * @param options The options parameters.\n */\n sendChatReadReceipt(\n chatThreadId: string,\n sendReadReceiptRequest: SendReadReceiptRequest,\n options?: coreHttp.OperationOptions\n ): Promise<coreHttp.RestResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n chatThreadId,\n sendReadReceiptRequest,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n sendChatReadReceiptOperationSpec\n ) as Promise<coreHttp.RestResponse>;\n }\n\n /**\n * Sends a message to a thread.\n * @param chatThreadId The thread id to send the message to.\n * @param sendChatMessageRequest Details of the message to send.\n * @param options The options parameters.\n */\n sendChatMessage(\n chatThreadId: string,\n sendChatMessageRequest: SendChatMessageRequest,\n options?: coreHttp.OperationOptions\n ): Promise<ChatThreadSendChatMessageResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n chatThreadId,\n sendChatMessageRequest,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n sendChatMessageOperationSpec\n ) as Promise<ChatThreadSendChatMessageResponse>;\n }\n\n /**\n * Gets a list of messages from a thread.\n * @param chatThreadId The thread id of the message.\n * @param options The options parameters.\n */\n listChatMessages(\n chatThreadId: string,\n options?: ChatThreadListChatMessagesOptionalParams\n ): Promise<ChatThreadListChatMessagesResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n chatThreadId,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n listChatMessagesOperationSpec\n ) as Promise<ChatThreadListChatMessagesResponse>;\n }\n\n /**\n * Gets a message by id.\n * @param chatThreadId The thread id to which the message was sent.\n * @param chatMessageId The message id.\n * @param options The options parameters.\n */\n getChatMessage(\n chatThreadId: string,\n chatMessageId: string,\n options?: coreHttp.OperationOptions\n ): Promise<ChatThreadGetChatMessageResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n chatThreadId,\n chatMessageId,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n getChatMessageOperationSpec\n ) as Promise<ChatThreadGetChatMessageResponse>;\n }\n\n /**\n * Updates a message.\n * @param chatThreadId The thread id to which the message was sent.\n * @param chatMessageId The message id.\n * @param updateChatMessageRequest Details of the request to update the message.\n * @param options The options parameters.\n */\n updateChatMessage(\n chatThreadId: string,\n chatMessageId: string,\n updateChatMessageRequest: UpdateChatMessageRequest,\n options?: coreHttp.OperationOptions\n ): Promise<coreHttp.RestResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n chatThreadId,\n chatMessageId,\n updateChatMessageRequest,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n updateChatMessageOperationSpec\n ) as Promise<coreHttp.RestResponse>;\n }\n\n /**\n * Deletes a message.\n * @param chatThreadId The thread id to which the message was sent.\n * @param chatMessageId The message id.\n * @param options The options parameters.\n */\n deleteChatMessage(\n chatThreadId: string,\n chatMessageId: string,\n options?: coreHttp.OperationOptions\n ): Promise<coreHttp.RestResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n chatThreadId,\n chatMessageId,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n deleteChatMessageOperationSpec\n ) as Promise<coreHttp.RestResponse>;\n }\n\n /**\n * Gets the participants of a thread.\n * @param chatThreadId Thread id to get participants for.\n * @param options The options parameters.\n */\n listChatParticipants(\n chatThreadId: string,\n options?: ChatThreadListChatParticipantsOptionalParams\n ): Promise<ChatThreadListChatParticipantsResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n chatThreadId,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n listChatParticipantsOperationSpec\n ) as Promise<ChatThreadListChatParticipantsResponse>;\n }\n\n /**\n * Remove a participant from a thread.\n * @param chatThreadId Thread id to remove the participant from.\n * @param participantCommunicationIdentifier Id of the thread participant to remove from the thread.\n * @param options The options parameters.\n */\n removeChatParticipant(\n chatThreadId: string,\n participantCommunicationIdentifier: CommunicationIdentifierModel,\n options?: coreHttp.OperationOptions\n ): Promise<coreHttp.RestResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n chatThreadId,\n participantCommunicationIdentifier,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n removeChatParticipantOperationSpec\n ) as Promise<coreHttp.RestResponse>;\n }\n\n /**\n * Adds thread participants to a thread. If participants already exist, no change occurs.\n * @param chatThreadId Id of the thread to add participants to.\n * @param addChatParticipantsRequest Thread participants to be added to the thread.\n * @param options The options parameters.\n */\n addChatParticipants(\n chatThreadId: string,\n addChatParticipantsRequest: AddChatParticipantsRequest,\n options?: coreHttp.OperationOptions\n ): Promise<ChatThreadAddChatParticipantsResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n chatThreadId,\n addChatParticipantsRequest,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n addChatParticipantsOperationSpec\n ) as Promise<ChatThreadAddChatParticipantsResponse>;\n }\n\n /**\n * Updates a thread's properties.\n * @param chatThreadId The id of the thread to update.\n * @param updateChatThreadRequest Request payload for updating a chat thread.\n * @param options The options parameters.\n */\n updateChatThreadProperties(\n chatThreadId: string,\n updateChatThreadRequest: UpdateChatThreadRequest,\n options?: coreHttp.OperationOptions\n ): Promise<coreHttp.RestResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n chatThreadId,\n updateChatThreadRequest,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n updateChatThreadPropertiesOperationSpec\n ) as Promise<coreHttp.RestResponse>;\n }\n\n /**\n * Gets a chat thread's properties.\n * @param chatThreadId Id of the thread.\n * @param options The options parameters.\n */\n getChatThreadProperties(\n chatThreadId: string,\n options?: coreHttp.OperationOptions\n ): Promise<ChatThreadGetChatThreadPropertiesResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n chatThreadId,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n getChatThreadPropertiesOperationSpec\n ) as Promise<ChatThreadGetChatThreadPropertiesResponse>;\n }\n\n /**\n * Posts a typing event to a thread, on behalf of a user.\n * @param chatThreadId Id of the thread.\n * @param options The options parameters.\n */\n sendTypingNotification(\n chatThreadId: string,\n options?: ChatThreadSendTypingNotificationOptionalParams\n ): Promise<coreHttp.RestResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n chatThreadId,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n sendTypingNotificationOperationSpec\n ) as Promise<coreHttp.RestResponse>;\n }\n\n /**\n * ListChatReadReceiptsNext\n * @param chatThreadId Thread id to get the chat message read receipts for.\n * @param nextLink The nextLink from the previous successful call to the ListChatReadReceipts method.\n * @param options The options parameters.\n */\n listChatReadReceiptsNext(\n chatThreadId: string,\n nextLink: string,\n options?: ChatThreadListChatReadReceiptsNextOptionalParams\n ): Promise<ChatThreadListChatReadReceiptsNextResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n chatThreadId,\n nextLink,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n listChatReadReceiptsNextOperationSpec\n ) as Promise<ChatThreadListChatReadReceiptsNextResponse>;\n }\n\n /**\n * ListChatMessagesNext\n * @param chatThreadId The thread id of the message.\n * @param nextLink The nextLink from the previous successful call to the ListChatMessages method.\n * @param options The options parameters.\n */\n listChatMessagesNext(\n chatThreadId: string,\n nextLink: string,\n options?: ChatThreadListChatMessagesNextOptionalParams\n ): Promise<ChatThreadListChatMessagesNextResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n chatThreadId,\n nextLink,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n listChatMessagesNextOperationSpec\n ) as Promise<ChatThreadListChatMessagesNextResponse>;\n }\n\n /**\n * ListChatParticipantsNext\n * @param chatThreadId Thread id to get participants for.\n * @param nextLink The nextLink from the previous successful call to the ListChatParticipants method.\n * @param options The options parameters.\n */\n listChatParticipantsNext(\n chatThreadId: string,\n nextLink: string,\n options?: ChatThreadListChatParticipantsNextOptionalParams\n ): Promise<ChatThreadListChatParticipantsNextResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n chatThreadId,\n nextLink,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n listChatParticipantsNextOperationSpec\n ) as Promise<ChatThreadListChatParticipantsNextResponse>;\n }\n}\n// Operation Specifications\nconst serializer = new coreHttp.Serializer(Mappers, /* isXml */ false);\n\nconst listChatReadReceiptsOperationSpec: coreHttp.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/readReceipts\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatMessageReadReceiptsCollection\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [\n Parameters.maxPageSize,\n Parameters.skip,\n Parameters.apiVersion\n ],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst sendChatReadReceiptOperationSpec: coreHttp.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/readReceipts\",\n httpMethod: \"POST\",\n responses: {\n 200: {},\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n requestBody: Parameters.sendReadReceiptRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst sendChatMessageOperationSpec: coreHttp.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/messages\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.SendChatMessageResult\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n requestBody: Parameters.sendChatMessageRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listChatMessagesOperationSpec: coreHttp.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/messages\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatMessagesCollection\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [\n Parameters.maxPageSize,\n Parameters.apiVersion,\n Parameters.startTime\n ],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getChatMessageOperationSpec: coreHttp.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/messages/{chatMessageId}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatMessage\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.endpoint,\n Parameters.chatThreadId,\n Parameters.chatMessageId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateChatMessageOperationSpec: coreHttp.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/messages/{chatMessageId}\",\n httpMethod: \"PATCH\",\n responses: {\n 204: {},\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n requestBody: Parameters.updateChatMessageRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.endpoint,\n Parameters.chatThreadId,\n Parameters.chatMessageId\n ],\n headerParameters: [Parameters.accept, Parameters.contentType1],\n mediaType: \"json\",\n serializer\n};\nconst deleteChatMessageOperationSpec: coreHttp.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/messages/{chatMessageId}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.endpoint,\n Parameters.chatThreadId,\n Parameters.chatMessageId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listChatParticipantsOperationSpec: coreHttp.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/participants\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatParticipantsCollection\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [\n Parameters.maxPageSize,\n Parameters.skip,\n Parameters.apiVersion\n ],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst removeChatParticipantOperationSpec: coreHttp.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/participants/:remove\",\n httpMethod: \"POST\",\n responses: {\n 204: {},\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n requestBody: Parameters.participantCommunicationIdentifier,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst addChatParticipantsOperationSpec: coreHttp.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/participants/:add\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.AddChatParticipantsResult\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n requestBody: Parameters.addChatParticipantsRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst updateChatThreadPropertiesOperationSpec: coreHttp.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}\",\n httpMethod: \"PATCH\",\n responses: {\n 204: {},\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n requestBody: Parameters.updateChatThreadRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept, Parameters.contentType1],\n mediaType: \"json\",\n serializer\n};\nconst getChatThreadPropertiesOperationSpec: coreHttp.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatThreadProperties\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst sendTypingNotificationOperationSpec: coreHttp.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/typing\",\n httpMethod: \"POST\",\n responses: {\n 200: {},\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n requestBody: Parameters.sendTypingNotificationRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listChatReadReceiptsNextOperationSpec: coreHttp.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatMessageReadReceiptsCollection\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [\n Parameters.maxPageSize,\n Parameters.skip,\n Parameters.apiVersion\n ],\n urlParameters: [\n Parameters.endpoint,\n Parameters.chatThreadId,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listChatMessagesNextOperationSpec: coreHttp.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatMessagesCollection\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [\n Parameters.maxPageSize,\n Parameters.apiVersion,\n Parameters.startTime\n ],\n urlParameters: [\n Parameters.endpoint,\n Parameters.chatThreadId,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listChatParticipantsNextOperationSpec: coreHttp.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatParticipantsCollection\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [\n Parameters.maxPageSize,\n Parameters.skip,\n Parameters.apiVersion\n ],\n urlParameters: [\n Parameters.endpoint,\n Parameters.chatThreadId,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreHttp from \"@azure/core-http\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { ChatApiClient } from \"../chatApiClient\";\nimport {\n CreateChatThreadRequest,\n ChatCreateChatThreadOptionalParams,\n ChatCreateChatThreadResponse,\n ChatListChatThreadsOptionalParams,\n ChatListChatThreadsResponse,\n ChatListChatThreadsNextOptionalParams,\n ChatListChatThreadsNextResponse\n} from \"../models\";\n\n/** Class representing a Chat. */\nexport class Chat {\n private readonly client: ChatApiClient;\n\n /**\n * Initialize a new instance of the class Chat class.\n * @param client Reference to the service client\n */\n constructor(client: ChatApiClient) {\n this.client = client;\n }\n\n /**\n * Creates a chat thread.\n * @param createChatThreadRequest Request payload for creating a chat thread.\n * @param options The options parameters.\n */\n createChatThread(\n createChatThreadRequest: CreateChatThreadRequest,\n options?: ChatCreateChatThreadOptionalParams\n ): Promise<ChatCreateChatThreadResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n createChatThreadRequest,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n createChatThreadOperationSpec\n ) as Promise<ChatCreateChatThreadResponse>;\n }\n\n /**\n * Gets the list of chat threads of a user.\n * @param options The options parameters.\n */\n listChatThreads(\n options?: ChatListChatThreadsOptionalParams\n ): Promise<ChatListChatThreadsResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n listChatThreadsOperationSpec\n ) as Promise<ChatListChatThreadsResponse>;\n }\n\n /**\n * Deletes a thread.\n * @param chatThreadId Id of the thread to be deleted.\n * @param options The options parameters.\n */\n deleteChatThread(\n chatThreadId: string,\n options?: coreHttp.OperationOptions\n ): Promise<coreHttp.RestResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n chatThreadId,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n deleteChatThreadOperationSpec\n ) as Promise<coreHttp.RestResponse>;\n }\n\n /**\n * ListChatThreadsNext\n * @param nextLink The nextLink from the previous successful call to the ListChatThreads method.\n * @param options The options parameters.\n */\n listChatThreadsNext(\n nextLink: string,\n options?: ChatListChatThreadsNextOptionalParams\n ): Promise<ChatListChatThreadsNextResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n nextLink,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.client.sendOperationRequest(\n operationArguments,\n listChatThreadsNextOperationSpec\n ) as Promise<ChatListChatThreadsNextResponse>;\n }\n}\n// Operation Specifications\nconst serializer = new coreHttp.Serializer(Mappers, /* isXml */ false);\n\nconst createChatThreadOperationSpec: coreHttp.OperationSpec = {\n path: \"/chat/threads\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.CreateChatThreadResult\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n requestBody: Parameters.createChatThreadRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.accept,\n Parameters.contentType,\n Parameters.repeatabilityRequestId\n ],\n mediaType: \"json\",\n serializer\n};\nconst listChatThreadsOperationSpec: coreHttp.OperationSpec = {\n path: \"/chat/threads\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatThreadsItemCollection\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [\n Parameters.maxPageSize,\n Parameters.apiVersion,\n Parameters.startTime\n ],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst deleteChatThreadOperationSpec: coreHttp.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listChatThreadsNextOperationSpec: coreHttp.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatThreadsItemCollection\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [\n Parameters.maxPageSize,\n Parameters.apiVersion,\n Parameters.startTime\n ],\n urlParameters: [Parameters.endpoint, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreHttp from \"@azure/core-http\";\nimport { ChatApiClientOptionalParams } from \"./models\";\n\nconst packageName = \"azure-communication-chat\";\nconst packageVersion = \"1.1.0-beta.2\";\n\nexport class ChatApiClientContext extends coreHttp.ServiceClient {\n endpoint: string;\n apiVersion: string;\n\n /**\n * Initializes a new instance of the ChatApiClientContext class.\n * @param endpoint The endpoint of the Azure Communication resource.\n * @param options The parameter options\n */\n constructor(endpoint: string, options?: ChatApiClientOptionalParams) {\n if (endpoint === undefined) {\n throw new Error(\"'endpoint' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n\n if (!options.userAgent) {\n const defaultUserAgent = coreHttp.getDefaultUserAgentValue();\n options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`;\n }\n\n super(undefined, options);\n\n this.requestContentType = \"application/json; charset=utf-8\";\n\n this.baseUri = options.endpoint || \"{endpoint}\";\n\n // Parameter assignments\n this.endpoint = endpoint;\n\n // Assigning values to Constant parameters\n this.apiVersion = options.apiVersion || \"2021-04-05-preview6\";\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { ChatThread, Chat } from \"./operations\";\nimport { ChatApiClientContext } from \"./chatApiClientContext\";\nimport { ChatApiClientOptionalParams } from \"./models\";\n\nexport class ChatApiClient extends ChatApiClientContext {\n /**\n * Initializes a new instance of the ChatApiClient class.\n * @param endpoint The endpoint of the Azure Communication resource.\n * @param options The parameter options\n */\n constructor(endpoint: string, options?: ChatApiClientOptionalParams) {\n super(endpoint, options);\n this.chatThread = new ChatThread(this);\n this.chat = new Chat(this);\n }\n\n chatThread: ChatThread;\n chat: Chat;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CommunicationTokenCredential } from \"@azure/communication-common\";\nimport { RequestPolicyFactory, bearerTokenAuthenticationPolicy } from \"@azure/core-http\";\n\n/**\n * Creates a new CommunicationTokenCredentialPolicy factory.\n *\n * @param credential - The CommunicationTokenCredential implementation that can supply the user credential.\n */\nexport const createCommunicationTokenCredentialPolicy = (\n credential: CommunicationTokenCredential\n): RequestPolicyFactory => {\n return bearerTokenAuthenticationPolicy(\n {\n getToken: (_scopes, options) => credential.getToken({ abortSignal: options?.abortSignal })\n },\n []\n );\n};\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { logger } from \"./models/logger\";\nimport { SDK_VERSION } from \"./constants\";\nimport {\n CommunicationIdentifier,\n CommunicationTokenCredential,\n serializeCommunicationIdentifier\n} from \"@azure/communication-common\";\nimport {\n InternalPipelineOptions,\n createPipelineFromOptions,\n operationOptionsToRequestOptionsBase\n} from \"@azure/core-http\";\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { SpanStatusCode } from \"@azure/core-tracing\";\nimport { createSpan } from \"./tracing\";\nimport {\n SendReadReceiptRequest,\n AddParticipantsRequest,\n SendMessageRequest\n} from \"./models/requests\";\n\nimport {\n AddChatParticipantsResult,\n ChatMessage,\n ChatMessageReadReceipt,\n ChatParticipant,\n ChatThreadProperties,\n SendChatMessageResult,\n ListPageSettings\n} from \"./models/models\";\nimport {\n mapToAddChatParticipantsRequestRestModel,\n mapToChatMessageSdkModel,\n mapToChatParticipantSdkModel,\n mapToChatThreadPropertiesSdkModel,\n mapToReadReceiptSdkModel\n} from \"./models/mappers\";\nimport {\n ChatThreadClientOptions,\n SendMessageOptions,\n GetMessageOptions,\n DeleteMessageOptions,\n ListMessagesOptions,\n UpdateMessageOptions,\n UpdateTopicOptions,\n AddParticipantsOptions,\n ListParticipantsOptions,\n RemoveParticipantOptions,\n SendTypingNotificationOptions,\n SendReadReceiptOptions,\n ListReadReceiptsOptions,\n GetPropertiesOptions\n} from \"./models/options\";\nimport { ChatApiClient } from \"./generated/src\";\nimport { createCommunicationTokenCredentialPolicy } from \"./credential/communicationTokenCredentialPolicy\";\nconst minimumTypingIntervalInMilliSeconds: number = 8000;\n\n/**\n * The client to do chat operations\n */\nexport class ChatThreadClient {\n /**\n * Thread ID of the ChatThreadClient\n */\n readonly threadId: string;\n\n private readonly tokenCredential: CommunicationTokenCredential;\n private readonly client: ChatApiClient;\n\n private timeOfLastTypingRequest: Date | undefined = undefined;\n\n constructor(\n private readonly endpoint: string,\n threadId: string,\n credential: CommunicationTokenCredential,\n options: ChatThreadClientOptions = {}\n ) {\n this.threadId = threadId;\n this.tokenCredential = credential;\n\n const libInfo = `azsdk-js-communication-chat/${SDK_VERSION}`;\n\n if (!options.userAgentOptions) {\n options.userAgentOptions = {};\n }\n\n const userAgentOptions = { ...options.userAgentOptions };\n if (options.userAgentOptions.userAgentPrefix) {\n userAgentOptions.userAgentPrefix = `${options.userAgentOptions.userAgentPrefix} ${libInfo}`;\n } else {\n userAgentOptions.userAgentPrefix = libInfo;\n }\n\n const internalPipelineOptions: InternalPipelineOptions = {\n ...{ ...options, userAgentOptions },\n ...{\n loggingOptions: {\n logger: logger.info\n }\n }\n };\n\n const authPolicy = createCommunicationTokenCredentialPolicy(this.tokenCredential);\n const pipeline = createPipelineFromOptions(internalPipelineOptions, authPolicy);\n\n this.client = new ChatApiClient(this.endpoint, pipeline);\n }\n\n /**\n * Gets a chat thread.\n * Returns the chat thread.\n * @param options - Operation options.\n */\n public async getProperties(options: GetPropertiesOptions = {}): Promise<ChatThreadProperties> {\n const { span, updatedOptions } = createSpan(\"ChatClient-GetProperties\", options);\n\n try {\n const { _response, ...result } = await this.client.chatThread.getChatThreadProperties(\n this.threadId,\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n return mapToChatThreadPropertiesSdkModel(result);\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Updates a thread's topic.\n * @param topic - The topic needs to be updated to.\n * @param options - Operation options.\n */\n public async updateTopic(topic: string, options: UpdateTopicOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-UpdateTopic\", options);\n\n try {\n await this.client.chatThread.updateChatThreadProperties(\n this.threadId,\n { topic: topic },\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Sends a chat message to a thread identified by threadId.\n * Returns the id of the created message.\n * @param request - Request for sending a message.\n * @param options - Operation options.\n */\n public async sendMessage(\n request: SendMessageRequest,\n options: SendMessageOptions = {}\n ): Promise<SendChatMessageResult> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-SendMessage\", options);\n\n try {\n // reset typing notification clock\n this.timeOfLastTypingRequest = undefined;\n\n const { _response, ...result } = await this.client.chatThread.sendChatMessage(\n this.threadId,\n { ...request, ...options },\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n return result;\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Gets a chat message identified by messageId.\n * Returns the specific message.\n * @param messageId - The message id of the message.\n * @param options - Operation options.\n */\n public async getMessage(\n messageId: string,\n options: GetMessageOptions = {}\n ): Promise<ChatMessage> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-GetMessage\", options);\n\n try {\n const { _response, ...result } = await this.client.chatThread.getChatMessage(\n this.threadId,\n messageId,\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n return mapToChatMessageSdkModel(result);\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listMessagesPage(\n pageSettings: ListPageSettings,\n options: ListMessagesOptions = {}\n ): AsyncIterableIterator<ChatMessage[]> {\n const requestOptions = operationOptionsToRequestOptionsBase(options);\n if (!pageSettings.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatMessages(\n this.threadId,\n requestOptions\n );\n pageSettings.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatMessageSdkModel, this);\n }\n }\n\n while (pageSettings.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatMessagesNext(\n this.threadId,\n pageSettings.continuationToken,\n requestOptions\n );\n pageSettings.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatMessageSdkModel, this);\n } else {\n break;\n }\n }\n }\n\n private async *listMessagesAll(options: ListMessagesOptions): AsyncIterableIterator<ChatMessage> {\n for await (const page of this.listMessagesPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets a list of message from a thread identified by threadId.\n * Returns the list of the messages.\n * @param options - Get messages options.\n */\n public listMessages(options: ListMessagesOptions = {}): PagedAsyncIterableIterator<ChatMessage> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-ListMessages\", options);\n\n try {\n const iter = this.listMessagesAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listMessagesPage(settings, updatedOptions);\n }\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes a message identified by threadId and messageId\n * @param messageId - The message id of the message.\n * @param options - Operation options.\n */\n public async deleteMessage(messageId: string, options: DeleteMessageOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-DeleteMessage\", options);\n\n try {\n await this.client.chatThread.deleteChatMessage(\n this.threadId,\n messageId,\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Updates a message identified by threadId and messageId\n * @param messageId - The message id of the message.\n * @param options - Operation options.\n */\n public async updateMessage(messageId: string, options: UpdateMessageOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-UpdateMessage\", options);\n\n try {\n await this.client.chatThread.updateChatMessage(\n this.threadId,\n messageId,\n options,\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Adds the details of chat participants belonging to the thread identified by threadId.\n * @param request - Thread participants' details to add in the thread roster\n * @param options - Operation options.\n */\n public async addParticipants(\n request: AddParticipantsRequest,\n options: AddParticipantsOptions = {}\n ): Promise<AddChatParticipantsResult> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-AddParticipants\", options);\n\n try {\n const { _response, ...result } = await this.client.chatThread.addChatParticipants(\n this.threadId,\n mapToAddChatParticipantsRequestRestModel(request),\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n return result;\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listParticipantsPage(\n continuationState: ListPageSettings,\n options: ListParticipantsOptions = {}\n ): AsyncIterableIterator<ChatParticipant[]> {\n const requestOptions = operationOptionsToRequestOptionsBase(options);\n if (!continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatParticipants(\n this.threadId,\n requestOptions\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatParticipantSdkModel, this);\n }\n }\n\n while (continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatParticipantsNext(\n this.threadId,\n continuationState.continuationToken,\n requestOptions\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatParticipantSdkModel, this);\n } else {\n break;\n }\n }\n }\n\n private async *listParticipantsAll(\n options: ListParticipantsOptions\n ): AsyncIterableIterator<ChatParticipant> {\n for await (const page of this.listParticipantsPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets the participants of the thread identified by threadId.\n * Returns the lists of the participants.\n * @param options - Operation options.\n */\n public listParticipants(\n options: ListParticipantsOptions = {}\n ): PagedAsyncIterableIterator<ChatParticipant> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-ListParticipants\", options);\n\n try {\n const iter = this.listParticipantsAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listParticipantsPage(settings, updatedOptions);\n }\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Removes participant from the thread identified by threadId.\n * @param participant - Thread participant to remove from the thread roster\n * @param options - Operation options.\n */\n public async removeParticipant(\n participant: CommunicationIdentifier,\n options: RemoveParticipantOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-RemoveParticipant\", options);\n\n try {\n await this.client.chatThread.removeChatParticipant(\n this.threadId,\n serializeCommunicationIdentifier(participant),\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Sends a typing notification to the thread.\n * Doesn't attempt to send if the time since last notification is smaller than the minimum typing interval\n * @param options - - Operation options\n * @returns True if the typing message notification could be sent, otherwise false.\n */\n public async sendTypingNotification(\n options: SendTypingNotificationOptions = {}\n ): Promise<boolean> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-SendTypingNotification\", options);\n\n try {\n const dateNow = new Date();\n const { senderDisplayName, ...restOptions } = operationOptionsToRequestOptionsBase(\n updatedOptions\n );\n if (this.canPostTypingNotification(dateNow)) {\n await this.client.chatThread.sendTypingNotification(this.threadId, {\n sendTypingNotificationRequest: { senderDisplayName: senderDisplayName },\n ...restOptions\n });\n\n this.timeOfLastTypingRequest = dateNow;\n return true;\n }\n\n logger.info(`Typing Notification NOT Send. [thread_id=${this.threadId}]`);\n return false;\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Sends a read receipt to the thread identified by threadId.\n * @param messageId - The message id of the message that user latest read.\n * @param request - Request for sending a read receipt\n * @param options - Operation options.\n */\n public async sendReadReceipt(\n request: SendReadReceiptRequest,\n options: SendReadReceiptOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-SendReadReceipt\", options);\n\n try {\n await this.client.chatThread.sendChatReadReceipt(\n this.threadId,\n request,\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listReadReceiptsPage(\n continuationState: ListPageSettings,\n options: ListReadReceiptsOptions = {}\n ): AsyncIterableIterator<ChatMessageReadReceipt[]> {\n const requestOptions = operationOptionsToRequestOptionsBase(options);\n if (!continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatReadReceipts(\n this.threadId,\n requestOptions\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToReadReceiptSdkModel, this);\n }\n }\n\n while (continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatReadReceiptsNext(\n this.threadId,\n continuationState.continuationToken,\n requestOptions\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToReadReceiptSdkModel, this);\n } else {\n break;\n }\n }\n }\n\n private async *listReadReceiptsAll(\n options: ListReadReceiptsOptions\n ): AsyncIterableIterator<ChatMessageReadReceipt> {\n for await (const page of this.listReadReceiptsPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets a list of read receipt from a thread identified by threadId.\n * Returns the list of the messages.\n * @param options - Get messages options.\n */\n public listReadReceipts(\n options: ListReadReceiptsOptions = {}\n ): PagedAsyncIterableIterator<ChatMessageReadReceipt> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-ListChatReadReceipts\", options);\n\n try {\n const iter = this.listReadReceiptsAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listReadReceiptsPage(settings, updatedOptions);\n }\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private canPostTypingNotification(dateNow: Date): boolean {\n if (this.timeOfLastTypingRequest) {\n const timeSinceLastRequestInMilliSeconds =\n dateNow.getTime() - this.timeOfLastTypingRequest.getTime();\n\n if (timeSinceLastRequestInMilliSeconds < minimumTypingIntervalInMilliSeconds) {\n logger.info(`Typing interval check failed. [last_request=${this.timeOfLastTypingRequest}]`);\n return false;\n }\n }\n\n return true;\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/// <reference lib=\"esnext.asynciterable\" />\n\nimport { logger } from \"./models/logger\";\nimport { EventEmitter } from \"events\";\nimport { SDK_VERSION } from \"./constants\";\nimport { CommunicationTokenCredential } from \"@azure/communication-common\";\nimport {\n SignalingClient,\n ChatEventId,\n ChatMessageReceivedEvent,\n ChatMessageEditedEvent,\n ChatMessageDeletedEvent,\n ReadReceiptReceivedEvent,\n TypingIndicatorReceivedEvent,\n ChatThreadCreatedEvent,\n ChatThreadDeletedEvent,\n ChatThreadPropertiesUpdatedEvent,\n ParticipantsAddedEvent,\n ParticipantsRemovedEvent\n} from \"@azure/communication-signaling\";\nimport { getSignalingClient } from \"./signaling/signalingClient\";\nimport {\n InternalPipelineOptions,\n createPipelineFromOptions,\n operationOptionsToRequestOptionsBase,\n generateUuid\n} from \"@azure/core-http\";\nimport \"@azure/core-paging\";\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { SpanStatusCode } from \"@azure/core-tracing\";\nimport { createSpan } from \"./tracing\";\nimport { ChatThreadClient } from \"./chatThreadClient\";\nimport {\n ChatClientOptions,\n CreateChatThreadOptions,\n ListChatThreadsOptions,\n DeleteChatThreadOptions\n} from \"./models/options\";\nimport {\n mapToChatParticipantRestModel,\n mapToCreateChatThreadOptionsRestModel,\n mapToCreateChatThreadResultSdkModel\n} from \"./models/mappers\";\nimport { ChatThreadItem, CreateChatThreadResult, ListPageSettings } from \"./models/models\";\nimport { createCommunicationTokenCredentialPolicy } from \"./credential/communicationTokenCredentialPolicy\";\nimport { ChatApiClient } from \"./generated/src\";\nimport { CreateChatThreadRequest } from \"./models/requests\";\n\n/**\n * The client to do chat operations\n */\nexport class ChatClient {\n private readonly tokenCredential: CommunicationTokenCredential;\n private readonly clientOptions: ChatClientOptions;\n // private readonly api: Chat;\n private readonly client: ChatApiClient;\n private readonly signalingClient: SignalingClient | undefined = undefined;\n private readonly emitter = new EventEmitter();\n private isRealtimeNotificationsStarted: boolean = false;\n\n /**\n * Creates an instance of the ChatClient for a given resource and user.\n *\n * @param endpoint - The url of the Communication Services resouce.\n * @param credential - The token credential. Use AzureCommunicationTokenCredential from \\@azure/communication-common to create a credential.\n * @param options - Additional client options.\n */\n constructor(\n private readonly endpoint: string,\n credential: CommunicationTokenCredential,\n options: ChatClientOptions = {}\n ) {\n this.tokenCredential = credential;\n this.clientOptions = { ...options };\n\n const libInfo = `azsdk-js-communication-chat/${SDK_VERSION}`;\n\n if (!options.userAgentOptions) {\n options.userAgentOptions = {};\n }\n\n const userAgentOptions = { ...options.userAgentOptions };\n if (options.userAgentOptions.userAgentPrefix) {\n userAgentOptions.userAgentPrefix = `${options.userAgentOptions.userAgentPrefix} ${libInfo}`;\n } else {\n userAgentOptions.userAgentPrefix = libInfo;\n }\n\n const internalPipelineOptions: InternalPipelineOptions = {\n ...{ ...options, userAgentOptions },\n ...{\n loggingOptions: {\n logger: logger.info\n }\n }\n };\n\n const authPolicy = createCommunicationTokenCredentialPolicy(this.tokenCredential);\n const pipeline = createPipelineFromOptions(internalPipelineOptions, authPolicy);\n\n this.client = new ChatApiClient(this.endpoint, pipeline);\n\n this.signalingClient = getSignalingClient(credential, logger);\n }\n\n /**\n * Returns ChatThreadClient with the specific thread id.\n * @param threadId - Thread ID for the ChatThreadClient\n */\n public getChatThreadClient(threadId: string): ChatThreadClient {\n return new ChatThreadClient(this.endpoint, threadId, this.tokenCredential, this.clientOptions);\n }\n\n /**\n * Creates a chat thread.\n * Returns thread client with the id of the created thread.\n * @param request - Request for creating a chat thread.\n * @param options - Operation options.\n */\n public async createChatThread(\n request: CreateChatThreadRequest,\n options: CreateChatThreadOptions = {}\n ): Promise<CreateChatThreadResult> {\n const { span, updatedOptions } = createSpan(\"ChatClient-CreateChatThread\", options);\n\n try {\n // We generate an UUID if the user does not provide an idempotencyToken value\n updatedOptions.idempotencyToken = updatedOptions.idempotencyToken ?? generateUuid();\n const updatedRestModelOptions = mapToCreateChatThreadOptionsRestModel(updatedOptions);\n\n const { _response, ...result } = await this.client.chat.createChatThread(\n {\n topic: request.topic,\n participants: options.participants?.map((participant) =>\n mapToChatParticipantRestModel(participant)\n )\n },\n operationOptionsToRequestOptionsBase(updatedRestModelOptions)\n );\n return mapToCreateChatThreadResultSdkModel(result);\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listChatThreadsPage(\n continuationState: ListPageSettings,\n options: ListChatThreadsOptions = {}\n ): AsyncIterableIterator<ChatThreadItem[]> {\n const requestOptions = operationOptionsToRequestOptionsBase(options);\n if (!continuationState.continuationToken) {\n const currentSetResponse = await this.client.chat.listChatThreads(requestOptions);\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value;\n }\n }\n\n while (continuationState.continuationToken) {\n const currentSetResponse = await this.client.chat.listChatThreadsNext(\n continuationState.continuationToken,\n requestOptions\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value;\n } else {\n break;\n }\n }\n }\n\n private async *listChatThreadsAll(\n options: ListChatThreadsOptions\n ): AsyncIterableIterator<ChatThreadItem> {\n for await (const page of this.listChatThreadsPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets the list of chat threads of a user.\n * @param options - List chat threads options.\n */\n public listChatThreads(\n options: ListChatThreadsOptions = {}\n ): PagedAsyncIterableIterator<ChatThreadItem> {\n const { span, updatedOptions } = createSpan(\"ChatClient-ListChatThreads\", options);\n try {\n const iter = this.listChatThreadsAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listChatThreadsPage(settings, updatedOptions);\n }\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes a chat thread.\n * @param threadId - The ID of the thread to delete.\n * @param options - Operation options.\n */\n public async deleteChatThread(\n threadId: string,\n options: DeleteChatThreadOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatClient-DeleteChatThread\", options);\n\n try {\n await this.client.chat.deleteChatThread(\n threadId,\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Start receiving realtime notifications.\n * Call this function before subscribing to any event.\n */\n public async startRealtimeNotifications(): Promise<void> {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are not supported in node js.\");\n }\n\n if (this.isRealtimeNotificationsStarted) {\n return;\n }\n\n this.isRealtimeNotificationsStarted = true;\n this.signalingClient.start();\n this.subscribeToSignalingEvents();\n }\n\n /**\n * Stop receiving realtime notifications.\n * This function would unsubscribe to all events.\n */\n public async stopRealtimeNotifications(): Promise<void> {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are not supported in node js.\");\n }\n\n this.isRealtimeNotificationsStarted = false;\n this.signalingClient.stop();\n this.emitter.removeAllListeners();\n }\n\n /**\n * Subscribe function for chatMessageReceived.\n * The initial sender will also receive this event.\n * You need to call startRealtimeNotifications before subscribing to any event.\n * @param event - The ChatMessageReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatMessageReceived\", listener: (e: ChatMessageReceivedEvent) => void): void;\n\n /**\n * Subscribe function for chatMessageEdited.\n * The initial sender will also receive this event.\n * @param event - The ChatMessageEditedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatMessageEdited\", listener: (e: ChatMessageEditedEvent) => void): void;\n\n /**\n * Subscribe function for chatMessageDeleted.\n * The initial sender will also receive this event.\n * @param event - The ChatMessageDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatMessageDeleted\", listener: (e: ChatMessageDeletedEvent) => void): void;\n\n /**\n * Subscribe function for typingIndicatorReceived.\n * The initial sender will also receive this event.\n * @param event - The TypingIndicatorReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(\n event: \"typingIndicatorReceived\",\n listener: (e: TypingIndicatorReceivedEvent) => void\n ): void;\n\n /**\n * Subscribe function for readReceiptReceived.\n * @param event - The ReadReceiptReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"readReceiptReceived\", listener: (e: ReadReceiptReceivedEvent) => void): void;\n\n /**\n * Subscribe function for chatThreadCreated.\n * @param event - The ChatThreadCreatedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatThreadCreated\", listener: (e: ChatThreadCreatedEvent) => void): void;\n\n /**\n * Subscribe function for chatThreadDeleted.\n * @param event - The ChatThreadDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatThreadDeleted\", listener: (e: ChatThreadDeletedEvent) => void): void;\n\n /**\n * Subscribe function for chatThreadPropertiesUpdated.\n * @param event - The ChatThreadPropertiesUpdatedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(\n event: \"chatThreadPropertiesUpdated\",\n listener: (e: ChatThreadPropertiesUpdatedEvent) => void\n ): void;\n\n /**\n * Subscribe function for participantsAdded.\n * @param event - The ParticipantsAddedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"participantsAdded\", listener: (e: ParticipantsAddedEvent) => void): void;\n\n /**\n * Subscribe function for participantsRemoved.\n * @param event - The ParticipantsRemovedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"participantsRemoved\", listener: (e: ParticipantsRemovedEvent) => void): void;\n\n public on(event: ChatEventId, listener: (e: any) => void): void {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are only supported in the browser.\");\n }\n\n if (!this.isRealtimeNotificationsStarted) {\n throw new Error(\n \"You must call startRealtimeNotifications before you can subscribe to events.\"\n );\n }\n\n this.emitter.on(event, listener);\n }\n\n /**\n * Unsubscribe from chatMessageReceived.\n * @param event - The ChatMessageReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatMessageReceived\", listener: (e: ChatMessageReceivedEvent) => void): void;\n\n /**\n * Unsubscribe from chatMessageEdited.\n * @param event - The ChatMessageEditedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatMessageEdited\", listener: (e: ChatMessageEditedEvent) => void): void;\n\n /**\n * Unsubscribe from chatMessageDeleted.\n * @param event - The ChatMessageDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatMessageDeleted\", listener: (e: ChatMessageDeletedEvent) => void): void;\n\n /**\n * Unsubscribe from typingIndicatorReceived.\n * @param event - The TypingIndicatorReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(\n event: \"typingIndicatorReceived\",\n listener: (e: TypingIndicatorReceivedEvent) => void\n ): void;\n\n /**\n * Unsubscribe from readReceiptReceived.\n * @param event - The ReadReceiptReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"readReceiptReceived\", listener: (e: ReadReceiptReceivedEvent) => void): void;\n\n /**\n * Unsubscribe from chatThreadCreated.\n * @param event - The ChatThreadCreatedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatThreadCreated\", listener: (e: ChatThreadCreatedEvent) => void): void;\n\n /**\n * Unsubscribe from chatThreadDeleted.\n * @param event - The ChatThreadDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatThreadDeleted\", listener: (e: ChatThreadDeletedEvent) => void): void;\n\n /**\n * Unsubscribe from chatThreadPropertiesUpdated.\n * @param event - The ChatThreadPropertiesUpdatedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(\n event: \"chatThreadPropertiesUpdated\",\n listener: (e: ChatThreadPropertiesUpdatedEvent) => void\n ): void;\n\n /**\n * Unsubscribe from participantsAdded.\n * @param event - The ParticipantsAddedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"participantsAdded\", listener: (e: ParticipantsAddedEvent) => void): void;\n\n /**\n * Unsubscribe from participantsRemoved.\n * @param event - The ParticipantsRemovedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"participantsRemoved\", listener: (e: ParticipantsRemovedEvent) => void): void;\n\n public off(event: ChatEventId, listener: (e: any) => void): void {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are only supported in the browser.\");\n }\n\n this.emitter.removeListener(event, listener);\n }\n\n private subscribeToSignalingEvents(): void {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are only supported in the browser.\");\n }\n\n this.signalingClient.on(\"chatMessageReceived\", (payload) => {\n this.emitter.emit(\"chatMessageReceived\", payload);\n });\n\n this.signalingClient.on(\"chatMessageEdited\", (payload) => {\n this.emitter.emit(\"chatMessageEdited\", payload);\n });\n\n this.signalingClient.on(\"chatMessageDeleted\", (payload) => {\n this.emitter.emit(\"chatMessageDeleted\", payload);\n });\n\n this.signalingClient.on(\"typingIndicatorReceived\", (payload) => {\n this.emitter.emit(\"typingIndicatorReceived\", payload);\n });\n\n this.signalingClient.on(\"readReceiptReceived\", (payload) => {\n this.emitter.emit(\"readReceiptReceived\", payload);\n });\n\n this.signalingClient.on(\"chatThreadCreated\", (payload) => {\n this.emitter.emit(\"chatThreadCreated\", payload);\n });\n\n this.signalingClient.on(\"chatThreadDeleted\", (payload) => {\n this.emitter.emit(\"chatThreadDeleted\", payload);\n });\n\n this.signalingClient.on(\"chatThreadPropertiesUpdated\", (payload) => {\n this.emitter.emit(\"chatThreadPropertiesUpdated\", payload);\n });\n\n this.signalingClient.on(\"participantsAdded\", (payload) => {\n this.emitter.emit(\"participantsAdded\", payload);\n });\n\n this.signalingClient.on(\"participantsRemoved\", (payload) => {\n this.emitter.emit(\"participantsRemoved\", payload);\n });\n }\n}\n"],"names":["createClientLogger","CommunicationSignalingClient","createSpanFunction","serializeCommunicationIdentifier","deserializeCommunicationIdentifier","SendReadReceiptRequestMapper","SendChatMessageRequestMapper","UpdateChatMessageRequestMapper","CommunicationIdentifierModelMapper","AddChatParticipantsRequestMapper","UpdateChatThreadRequestMapper","SendTypingNotificationRequestMapper","CreateChatThreadRequestMapper","coreHttp.operationOptionsToRequestOptionsBase","coreHttp.Serializer","Mappers.ChatMessageReadReceiptsCollection","Mappers.CommunicationErrorResponse","Parameters.maxPageSize","Parameters.skip","Parameters.apiVersion","Parameters.endpoint","Parameters.chatThreadId","Parameters.accept","Parameters.sendReadReceiptRequest","Parameters.contentType","Mappers.SendChatMessageResult","Parameters.sendChatMessageRequest","Mappers.ChatMessagesCollection","Parameters.startTime","Mappers.ChatMessage","Parameters.chatMessageId","Parameters.updateChatMessageRequest","Parameters.contentType1","Mappers.ChatParticipantsCollection","Parameters.participantCommunicationIdentifier","Mappers.AddChatParticipantsResult","Parameters.addChatParticipantsRequest","Parameters.updateChatThreadRequest","Mappers.ChatThreadProperties","Parameters.sendTypingNotificationRequest","Parameters.nextLink","serializer","Mappers.CreateChatThreadResult","Parameters.createChatThreadRequest","Parameters.repeatabilityRequestId","Mappers.ChatThreadsItemCollection","coreHttp.ServiceClient","coreHttp.getDefaultUserAgentValue","bearerTokenAuthenticationPolicy","createPipelineFromOptions","operationOptionsToRequestOptionsBase","SpanStatusCode","__asyncValues","__asyncDelegator","EventEmitter","generateUuid"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/models/logger.ts","../src/signaling/signalingClient.ts","../src/tracing.ts","../src/models/mappers.ts","../src/generated/src/models/mappers.ts","../src/generated/src/models/parameters.ts","../src/generated/src/operations/chatThread.ts","../src/generated/src/operations/chat.ts","../src/generated/src/chatApiClientContext.ts","../src/generated/src/chatApiClient.ts","../src/credential/communicationTokenCredentialPolicy.ts","../src/chatThreadClient.ts","../src/models/uuid.ts","../src/chatClient.ts"],"sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createClientLogger } from \"@azure/logger\";\n\nexport const logger = createClientLogger(\"communication-chat\");\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CommunicationSignalingClient, SignalingClient } from \"@azure/communication-signaling\";\nimport { CommunicationTokenCredential } from \"@azure/communication-common\";\nimport { AzureLogger } from \"@azure/logger\";\n\nexport const getSignalingClient = (\n credential: CommunicationTokenCredential,\n logger: AzureLogger\n): SignalingClient | undefined => {\n if (typeof navigator !== \"undefined\" && navigator.product === \"ReactNative\") {\n // In React Native\n return new CommunicationSignalingClient(credential, logger);\n }\n\n // In node js\n return undefined;\n};\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createSpanFunction } from \"@azure/core-tracing\";\n\n/**\n * Creates a span using the global tracer.\n * @internal\n */\nexport const createSpan = createSpanFunction({\n packagePrefix: \"Azure.Communication\",\n namespace: \"Microsoft.Communication\"\n});\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n deserializeCommunicationIdentifier,\n serializeCommunicationIdentifier,\n SerializedCommunicationIdentifier\n} from \"@azure/communication-common\";\nimport * as RestModel from \"../generated/src/models\";\nimport { AddParticipantsRequest } from \"./requests\";\nimport { CreateChatThreadOptions } from \"./options\";\nimport {\n ChatMessage,\n ChatThreadProperties,\n ChatParticipant,\n ChatMessageReadReceipt,\n ChatMessageContent,\n CreateChatThreadResult\n} from \"./models\";\n\nexport const mapToCreateChatThreadOptionsRestModel = (\n options: CreateChatThreadOptions\n): RestModel.ChatCreateChatThreadOptionalParams => {\n const { participants, idempotencyToken, ...rest } = options;\n return {\n repeatabilityRequestId: idempotencyToken,\n ...rest\n };\n};\n\n/**\n * @internal\n * Mapping chat participant customer model to chat participant REST model\n */\nexport const mapToChatParticipantRestModel = (\n chatParticipant: ChatParticipant\n): RestModel.ChatParticipant => {\n const { id, ...rest } = chatParticipant;\n return {\n ...rest,\n communicationIdentifier: serializeCommunicationIdentifier(id)\n };\n};\n\n/**\n * @internal\n * Mapping add participants request to add chat participants request REST model\n */\nexport const mapToAddChatParticipantsRequestRestModel = (\n addParticipantsRequest: AddParticipantsRequest\n): RestModel.AddChatParticipantsRequest => {\n return {\n participants: addParticipantsRequest.participants?.map((participant) =>\n mapToChatParticipantRestModel(participant)\n )\n };\n};\n\n/**\n * @internal\n * Mapping chat participant REST model to chat participant SDK model\n */\nexport const mapToChatParticipantSdkModel = (\n chatParticipant: RestModel.ChatParticipant\n): ChatParticipant => {\n const { communicationIdentifier, ...rest } = chatParticipant;\n return {\n ...rest,\n id: deserializeCommunicationIdentifier(\n communicationIdentifier as SerializedCommunicationIdentifier\n )\n };\n};\n\n/**\n * @internal\n */\nexport const mapToChatContentSdkModel = (\n content: RestModel.ChatMessageContent\n): ChatMessageContent => {\n const { participants, initiatorCommunicationIdentifier, ...otherChatContents } = content;\n let result: ChatMessageContent = { ...otherChatContents };\n if (initiatorCommunicationIdentifier) {\n const initiator = deserializeCommunicationIdentifier(\n initiatorCommunicationIdentifier as SerializedCommunicationIdentifier\n );\n result = { ...result, initiator };\n }\n if (participants) {\n result = {\n ...result,\n participants: participants?.map((participant) => mapToChatParticipantSdkModel(participant))\n };\n }\n return result;\n};\n\n/**\n * @internal\n * Mapping chat message REST model to chat message SDK model\n */\nexport const mapToChatMessageSdkModel = (chatMessage: RestModel.ChatMessage): ChatMessage => {\n const { content, senderCommunicationIdentifier, ...otherChatMessage } = chatMessage;\n let result: ChatMessage = { ...otherChatMessage };\n if (content) {\n result = {\n ...result,\n content: mapToChatContentSdkModel(content)\n };\n }\n if (senderCommunicationIdentifier) {\n const sender = deserializeCommunicationIdentifier(\n senderCommunicationIdentifier as SerializedCommunicationIdentifier\n );\n result = { ...result, sender };\n }\n return result;\n};\n\n/**\n * @internal\n * Mapping chat messages collection REST model to chat message SDK model array\n */\nexport const mapToChatMessagesSdkModelArray = (\n chatMessagesCollection: RestModel.ChatMessagesCollection\n): ChatMessage[] => {\n return chatMessagesCollection.value?.map((chatMessage) => mapToChatMessageSdkModel(chatMessage));\n};\n\n/**\n * @internal\n * Mapping chat thread REST model to chat thread SDK model\n */\nexport const mapToChatThreadPropertiesSdkModel = (\n chatThread: RestModel.ChatThreadProperties\n): ChatThreadProperties => {\n const { createdByCommunicationIdentifier, ...rest } = chatThread;\n if (createdByCommunicationIdentifier) {\n return {\n ...rest,\n createdBy: deserializeCommunicationIdentifier(\n createdByCommunicationIdentifier as SerializedCommunicationIdentifier\n )\n };\n } else {\n return { ...rest };\n }\n};\n\n/**\n * @internal\n * Mapping chat thread REST model to chat thread SDK model\n */\nexport const mapToCreateChatThreadResultSdkModel = (\n result: RestModel.CreateChatThreadResult\n): CreateChatThreadResult => {\n const { chatThread, ...rest } = result;\n if (chatThread) {\n return {\n ...rest,\n chatThread: mapToChatThreadPropertiesSdkModel(chatThread)\n };\n } else {\n return { ...rest };\n }\n};\n\n/**\n * @internal\n * Mapping read receipt REST model to read receipt SDK model\n */\nexport const mapToReadReceiptSdkModel = (\n readReceipt: RestModel.ChatMessageReadReceipt\n): ChatMessageReadReceipt => {\n const { senderCommunicationIdentifier, ...rest } = readReceipt;\n return {\n ...rest,\n sender: deserializeCommunicationIdentifier(\n senderCommunicationIdentifier as SerializedCommunicationIdentifier\n )\n };\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const ChatMessageReadReceiptsCollection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessageReadReceiptsCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatMessageReadReceipt\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ChatMessageReadReceipt: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessageReadReceipt\",\n modelProperties: {\n senderCommunicationIdentifier: {\n serializedName: \"senderCommunicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n },\n chatMessageId: {\n serializedName: \"chatMessageId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n readOn: {\n serializedName: \"readOn\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentifierModel: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\",\n modelProperties: {\n rawId: {\n serializedName: \"rawId\",\n type: {\n name: \"String\"\n }\n },\n communicationUser: {\n serializedName: \"communicationUser\",\n type: {\n name: \"Composite\",\n className: \"CommunicationUserIdentifierModel\"\n }\n },\n phoneNumber: {\n serializedName: \"phoneNumber\",\n type: {\n name: \"Composite\",\n className: \"PhoneNumberIdentifierModel\"\n }\n },\n microsoftTeamsUser: {\n serializedName: \"microsoftTeamsUser\",\n type: {\n name: \"Composite\",\n className: \"MicrosoftTeamsUserIdentifierModel\"\n }\n }\n }\n }\n};\n\nexport const CommunicationUserIdentifierModel: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationUserIdentifierModel\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PhoneNumberIdentifierModel: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PhoneNumberIdentifierModel\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const MicrosoftTeamsUserIdentifierModel: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MicrosoftTeamsUserIdentifierModel\",\n modelProperties: {\n userId: {\n serializedName: \"userId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n isAnonymous: {\n serializedName: \"isAnonymous\",\n type: {\n name: \"Boolean\"\n }\n },\n cloud: {\n serializedName: \"cloud\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CommunicationErrorResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationErrorResponse\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n }\n};\n\nexport const ChatError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatError\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n target: {\n serializedName: \"target\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n },\n innerError: {\n serializedName: \"innererror\",\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n }\n};\n\nexport const SendReadReceiptRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SendReadReceiptRequest\",\n modelProperties: {\n chatMessageId: {\n serializedName: \"chatMessageId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SendChatMessageRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SendChatMessageRequest\",\n modelProperties: {\n content: {\n serializedName: \"content\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n senderDisplayName: {\n serializedName: \"senderDisplayName\",\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"text\",\n \"html\",\n \"topicUpdated\",\n \"participantAdded\",\n \"participantRemoved\"\n ]\n }\n },\n metadata: {\n serializedName: \"metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const SendChatMessageResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SendChatMessageResult\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ChatMessagesCollection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessagesCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatMessage\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ChatMessage: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessage\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\n \"text\",\n \"html\",\n \"topicUpdated\",\n \"participantAdded\",\n \"participantRemoved\"\n ]\n }\n },\n sequenceId: {\n serializedName: \"sequenceId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n version: {\n serializedName: \"version\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n content: {\n serializedName: \"content\",\n type: {\n name: \"Composite\",\n className: \"ChatMessageContent\"\n }\n },\n senderDisplayName: {\n serializedName: \"senderDisplayName\",\n type: {\n name: \"String\"\n }\n },\n createdOn: {\n serializedName: \"createdOn\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n },\n senderCommunicationIdentifier: {\n serializedName: \"senderCommunicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n },\n deletedOn: {\n serializedName: \"deletedOn\",\n type: {\n name: \"DateTime\"\n }\n },\n editedOn: {\n serializedName: \"editedOn\",\n type: {\n name: \"DateTime\"\n }\n },\n metadata: {\n serializedName: \"metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const ChatMessageContent: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessageContent\",\n modelProperties: {\n message: {\n serializedName: \"message\",\n type: {\n name: \"String\"\n }\n },\n topic: {\n serializedName: \"topic\",\n type: {\n name: \"String\"\n }\n },\n participants: {\n serializedName: \"participants\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\"\n }\n }\n }\n },\n initiatorCommunicationIdentifier: {\n serializedName: \"initiatorCommunicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n }\n }\n }\n};\n\nexport const ChatParticipant: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\",\n modelProperties: {\n communicationIdentifier: {\n serializedName: \"communicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n },\n displayName: {\n serializedName: \"displayName\",\n type: {\n name: \"String\"\n }\n },\n shareHistoryTime: {\n serializedName: \"shareHistoryTime\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const UpdateChatMessageRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"UpdateChatMessageRequest\",\n modelProperties: {\n content: {\n serializedName: \"content\",\n type: {\n name: \"String\"\n }\n },\n metadata: {\n serializedName: \"metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const ChatParticipantsCollection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatParticipantsCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AddChatParticipantsRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AddChatParticipantsRequest\",\n modelProperties: {\n participants: {\n serializedName: \"participants\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const AddChatParticipantsResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AddChatParticipantsResult\",\n modelProperties: {\n invalidParticipants: {\n serializedName: \"invalidParticipants\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const CreateChatThreadRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CreateChatThreadRequest\",\n modelProperties: {\n topic: {\n serializedName: \"topic\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n participants: {\n serializedName: \"participants\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const CreateChatThreadResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CreateChatThreadResult\",\n modelProperties: {\n chatThread: {\n serializedName: \"chatThread\",\n type: {\n name: \"Composite\",\n className: \"ChatThreadProperties\"\n }\n },\n invalidParticipants: {\n serializedName: \"invalidParticipants\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ChatThreadProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatThreadProperties\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n topic: {\n serializedName: \"topic\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n createdOn: {\n serializedName: \"createdOn\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n },\n createdByCommunicationIdentifier: {\n serializedName: \"createdByCommunicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n },\n deletedOn: {\n serializedName: \"deletedOn\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const ChatThreadsItemCollection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatThreadsItemCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatThreadItem\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ChatThreadItem: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatThreadItem\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n topic: {\n serializedName: \"topic\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n deletedOn: {\n serializedName: \"deletedOn\",\n type: {\n name: \"DateTime\"\n }\n },\n lastMessageReceivedOn: {\n serializedName: \"lastMessageReceivedOn\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const UpdateChatThreadRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"UpdateChatThreadRequest\",\n modelProperties: {\n topic: {\n serializedName: \"topic\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SendTypingNotificationRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SendTypingNotificationRequest\",\n modelProperties: {\n senderDisplayName: {\n serializedName: \"senderDisplayName\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n SendReadReceiptRequest as SendReadReceiptRequestMapper,\n SendChatMessageRequest as SendChatMessageRequestMapper,\n UpdateChatMessageRequest as UpdateChatMessageRequestMapper,\n CommunicationIdentifierModel as CommunicationIdentifierModelMapper,\n AddChatParticipantsRequest as AddChatParticipantsRequestMapper,\n UpdateChatThreadRequest as UpdateChatThreadRequestMapper,\n SendTypingNotificationRequest as SendTypingNotificationRequestMapper,\n CreateChatThreadRequest as CreateChatThreadRequestMapper\n} from \"../models/mappers\";\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const endpoint: OperationURLParameter = {\n parameterPath: \"endpoint\",\n mapper: {\n serializedName: \"endpoint\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const chatThreadId: OperationURLParameter = {\n parameterPath: \"chatThreadId\",\n mapper: {\n serializedName: \"chatThreadId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const maxPageSize: OperationQueryParameter = {\n parameterPath: [\"options\", \"maxPageSize\"],\n mapper: {\n serializedName: \"maxPageSize\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const skip: OperationQueryParameter = {\n parameterPath: [\"options\", \"skip\"],\n mapper: {\n serializedName: \"skip\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2021-09-07\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const sendReadReceiptRequest: OperationParameter = {\n parameterPath: \"sendReadReceiptRequest\",\n mapper: SendReadReceiptRequestMapper\n};\n\nexport const sendChatMessageRequest: OperationParameter = {\n parameterPath: \"sendChatMessageRequest\",\n mapper: SendChatMessageRequestMapper\n};\n\nexport const startTime: OperationQueryParameter = {\n parameterPath: [\"options\", \"startTime\"],\n mapper: {\n serializedName: \"startTime\",\n type: {\n name: \"DateTime\"\n }\n }\n};\n\nexport const chatMessageId: OperationURLParameter = {\n parameterPath: \"chatMessageId\",\n mapper: {\n serializedName: \"chatMessageId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType1: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/merge-patch+json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const updateChatMessageRequest: OperationParameter = {\n parameterPath: \"updateChatMessageRequest\",\n mapper: UpdateChatMessageRequestMapper\n};\n\nexport const participantCommunicationIdentifier: OperationParameter = {\n parameterPath: \"participantCommunicationIdentifier\",\n mapper: CommunicationIdentifierModelMapper\n};\n\nexport const addChatParticipantsRequest: OperationParameter = {\n parameterPath: \"addChatParticipantsRequest\",\n mapper: AddChatParticipantsRequestMapper\n};\n\nexport const updateChatThreadRequest: OperationParameter = {\n parameterPath: \"updateChatThreadRequest\",\n mapper: UpdateChatThreadRequestMapper\n};\n\nexport const sendTypingNotificationRequest: OperationParameter = {\n parameterPath: [\"options\", \"sendTypingNotificationRequest\"],\n mapper: SendTypingNotificationRequestMapper\n};\n\nexport const nextLink: OperationURLParameter = {\n parameterPath: \"nextLink\",\n mapper: {\n serializedName: \"nextLink\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const createChatThreadRequest: OperationParameter = {\n parameterPath: \"createChatThreadRequest\",\n mapper: CreateChatThreadRequestMapper\n};\n\nexport const repeatabilityRequestId: OperationParameter = {\n parameterPath: [\"options\", \"repeatabilityRequestId\"],\n mapper: {\n serializedName: \"repeatability-request-id\",\n type: {\n name: \"String\"\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { ChatThread } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { ChatApiClientContext } from \"../chatApiClientContext\";\nimport {\n ChatThreadListChatReadReceiptsOptionalParams,\n ChatThreadListChatReadReceiptsResponse,\n SendReadReceiptRequest,\n ChatThreadSendChatReadReceiptOptionalParams,\n SendChatMessageRequest,\n ChatThreadSendChatMessageOptionalParams,\n ChatThreadSendChatMessageResponse,\n ChatThreadListChatMessagesOptionalParams,\n ChatThreadListChatMessagesResponse,\n ChatThreadGetChatMessageOptionalParams,\n ChatThreadGetChatMessageResponse,\n UpdateChatMessageRequest,\n ChatThreadUpdateChatMessageOptionalParams,\n ChatThreadDeleteChatMessageOptionalParams,\n ChatThreadListChatParticipantsOptionalParams,\n ChatThreadListChatParticipantsResponse,\n CommunicationIdentifierModel,\n ChatThreadRemoveChatParticipantOptionalParams,\n AddChatParticipantsRequest,\n ChatThreadAddChatParticipantsOptionalParams,\n ChatThreadAddChatParticipantsResponse,\n UpdateChatThreadRequest,\n ChatThreadUpdateChatThreadPropertiesOptionalParams,\n ChatThreadGetChatThreadPropertiesOptionalParams,\n ChatThreadGetChatThreadPropertiesResponse,\n ChatThreadSendTypingNotificationOptionalParams,\n ChatThreadListChatReadReceiptsNextOptionalParams,\n ChatThreadListChatReadReceiptsNextResponse,\n ChatThreadListChatMessagesNextOptionalParams,\n ChatThreadListChatMessagesNextResponse,\n ChatThreadListChatParticipantsNextOptionalParams,\n ChatThreadListChatParticipantsNextResponse\n} from \"../models\";\n\n/** Class containing ChatThread operations. */\nexport class ChatThreadImpl implements ChatThread {\n private readonly client: ChatApiClientContext;\n\n /**\n * Initialize a new instance of the class ChatThread class.\n * @param client Reference to the service client\n */\n constructor(client: ChatApiClientContext) {\n this.client = client;\n }\n\n /**\n * Gets chat message read receipts for a thread.\n * @param chatThreadId Thread id to get the chat message read receipts for.\n * @param options The options parameters.\n */\n listChatReadReceipts(\n chatThreadId: string,\n options?: ChatThreadListChatReadReceiptsOptionalParams\n ): Promise<ChatThreadListChatReadReceiptsResponse> {\n return this.client.sendOperationRequest(\n { chatThreadId, options },\n listChatReadReceiptsOperationSpec\n );\n }\n\n /**\n * Sends a read receipt event to a thread, on behalf of a user.\n * @param chatThreadId Thread id to send the read receipt event to.\n * @param sendReadReceiptRequest Read receipt details.\n * @param options The options parameters.\n */\n sendChatReadReceipt(\n chatThreadId: string,\n sendReadReceiptRequest: SendReadReceiptRequest,\n options?: ChatThreadSendChatReadReceiptOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { chatThreadId, sendReadReceiptRequest, options },\n sendChatReadReceiptOperationSpec\n );\n }\n\n /**\n * Sends a message to a thread.\n * @param chatThreadId The thread id to send the message to.\n * @param sendChatMessageRequest Details of the message to send.\n * @param options The options parameters.\n */\n sendChatMessage(\n chatThreadId: string,\n sendChatMessageRequest: SendChatMessageRequest,\n options?: ChatThreadSendChatMessageOptionalParams\n ): Promise<ChatThreadSendChatMessageResponse> {\n return this.client.sendOperationRequest(\n { chatThreadId, sendChatMessageRequest, options },\n sendChatMessageOperationSpec\n );\n }\n\n /**\n * Gets a list of messages from a thread.\n * @param chatThreadId The thread id of the message.\n * @param options The options parameters.\n */\n listChatMessages(\n chatThreadId: string,\n options?: ChatThreadListChatMessagesOptionalParams\n ): Promise<ChatThreadListChatMessagesResponse> {\n return this.client.sendOperationRequest(\n { chatThreadId, options },\n listChatMessagesOperationSpec\n );\n }\n\n /**\n * Gets a message by id.\n * @param chatThreadId The thread id to which the message was sent.\n * @param chatMessageId The message id.\n * @param options The options parameters.\n */\n getChatMessage(\n chatThreadId: string,\n chatMessageId: string,\n options?: ChatThreadGetChatMessageOptionalParams\n ): Promise<ChatThreadGetChatMessageResponse> {\n return this.client.sendOperationRequest(\n { chatThreadId, chatMessageId, options },\n getChatMessageOperationSpec\n );\n }\n\n /**\n * Updates a message.\n * @param chatThreadId The thread id to which the message was sent.\n * @param chatMessageId The message id.\n * @param updateChatMessageRequest Details of the request to update the message.\n * @param options The options parameters.\n */\n updateChatMessage(\n chatThreadId: string,\n chatMessageId: string,\n updateChatMessageRequest: UpdateChatMessageRequest,\n options?: ChatThreadUpdateChatMessageOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { chatThreadId, chatMessageId, updateChatMessageRequest, options },\n updateChatMessageOperationSpec\n );\n }\n\n /**\n * Deletes a message.\n * @param chatThreadId The thread id to which the message was sent.\n * @param chatMessageId The message id.\n * @param options The options parameters.\n */\n deleteChatMessage(\n chatThreadId: string,\n chatMessageId: string,\n options?: ChatThreadDeleteChatMessageOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { chatThreadId, chatMessageId, options },\n deleteChatMessageOperationSpec\n );\n }\n\n /**\n * Gets the participants of a thread.\n * @param chatThreadId Thread id to get participants for.\n * @param options The options parameters.\n */\n listChatParticipants(\n chatThreadId: string,\n options?: ChatThreadListChatParticipantsOptionalParams\n ): Promise<ChatThreadListChatParticipantsResponse> {\n return this.client.sendOperationRequest(\n { chatThreadId, options },\n listChatParticipantsOperationSpec\n );\n }\n\n /**\n * Remove a participant from a thread.\n * @param chatThreadId Thread id to remove the participant from.\n * @param participantCommunicationIdentifier Id of the thread participant to remove from the thread.\n * @param options The options parameters.\n */\n removeChatParticipant(\n chatThreadId: string,\n participantCommunicationIdentifier: CommunicationIdentifierModel,\n options?: ChatThreadRemoveChatParticipantOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { chatThreadId, participantCommunicationIdentifier, options },\n removeChatParticipantOperationSpec\n );\n }\n\n /**\n * Adds thread participants to a thread. If participants already exist, no change occurs.\n * @param chatThreadId Id of the thread to add participants to.\n * @param addChatParticipantsRequest Thread participants to be added to the thread.\n * @param options The options parameters.\n */\n addChatParticipants(\n chatThreadId: string,\n addChatParticipantsRequest: AddChatParticipantsRequest,\n options?: ChatThreadAddChatParticipantsOptionalParams\n ): Promise<ChatThreadAddChatParticipantsResponse> {\n return this.client.sendOperationRequest(\n { chatThreadId, addChatParticipantsRequest, options },\n addChatParticipantsOperationSpec\n );\n }\n\n /**\n * Updates a thread's properties.\n * @param chatThreadId The id of the thread to update.\n * @param updateChatThreadRequest Request payload for updating a chat thread.\n * @param options The options parameters.\n */\n updateChatThreadProperties(\n chatThreadId: string,\n updateChatThreadRequest: UpdateChatThreadRequest,\n options?: ChatThreadUpdateChatThreadPropertiesOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { chatThreadId, updateChatThreadRequest, options },\n updateChatThreadPropertiesOperationSpec\n );\n }\n\n /**\n * Gets a chat thread's properties.\n * @param chatThreadId Id of the thread.\n * @param options The options parameters.\n */\n getChatThreadProperties(\n chatThreadId: string,\n options?: ChatThreadGetChatThreadPropertiesOptionalParams\n ): Promise<ChatThreadGetChatThreadPropertiesResponse> {\n return this.client.sendOperationRequest(\n { chatThreadId, options },\n getChatThreadPropertiesOperationSpec\n );\n }\n\n /**\n * Posts a typing event to a thread, on behalf of a user.\n * @param chatThreadId Id of the thread.\n * @param options The options parameters.\n */\n sendTypingNotification(\n chatThreadId: string,\n options?: ChatThreadSendTypingNotificationOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { chatThreadId, options },\n sendTypingNotificationOperationSpec\n );\n }\n\n /**\n * ListChatReadReceiptsNext\n * @param chatThreadId Thread id to get the chat message read receipts for.\n * @param nextLink The nextLink from the previous successful call to the ListChatReadReceipts method.\n * @param options The options parameters.\n */\n listChatReadReceiptsNext(\n chatThreadId: string,\n nextLink: string,\n options?: ChatThreadListChatReadReceiptsNextOptionalParams\n ): Promise<ChatThreadListChatReadReceiptsNextResponse> {\n return this.client.sendOperationRequest(\n { chatThreadId, nextLink, options },\n listChatReadReceiptsNextOperationSpec\n );\n }\n\n /**\n * ListChatMessagesNext\n * @param chatThreadId The thread id of the message.\n * @param nextLink The nextLink from the previous successful call to the ListChatMessages method.\n * @param options The options parameters.\n */\n listChatMessagesNext(\n chatThreadId: string,\n nextLink: string,\n options?: ChatThreadListChatMessagesNextOptionalParams\n ): Promise<ChatThreadListChatMessagesNextResponse> {\n return this.client.sendOperationRequest(\n { chatThreadId, nextLink, options },\n listChatMessagesNextOperationSpec\n );\n }\n\n /**\n * ListChatParticipantsNext\n * @param chatThreadId Thread id to get participants for.\n * @param nextLink The nextLink from the previous successful call to the ListChatParticipants method.\n * @param options The options parameters.\n */\n listChatParticipantsNext(\n chatThreadId: string,\n nextLink: string,\n options?: ChatThreadListChatParticipantsNextOptionalParams\n ): Promise<ChatThreadListChatParticipantsNextResponse> {\n return this.client.sendOperationRequest(\n { chatThreadId, nextLink, options },\n listChatParticipantsNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listChatReadReceiptsOperationSpec: coreClient.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/readReceipts\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatMessageReadReceiptsCollection\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [\n Parameters.maxPageSize,\n Parameters.skip,\n Parameters.apiVersion\n ],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst sendChatReadReceiptOperationSpec: coreClient.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/readReceipts\",\n httpMethod: \"POST\",\n responses: {\n 200: {},\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n requestBody: Parameters.sendReadReceiptRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst sendChatMessageOperationSpec: coreClient.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/messages\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.SendChatMessageResult\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n requestBody: Parameters.sendChatMessageRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listChatMessagesOperationSpec: coreClient.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/messages\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatMessagesCollection\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [\n Parameters.maxPageSize,\n Parameters.apiVersion,\n Parameters.startTime\n ],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getChatMessageOperationSpec: coreClient.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/messages/{chatMessageId}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatMessage\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.endpoint,\n Parameters.chatThreadId,\n Parameters.chatMessageId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateChatMessageOperationSpec: coreClient.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/messages/{chatMessageId}\",\n httpMethod: \"PATCH\",\n responses: {\n 204: {},\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n requestBody: Parameters.updateChatMessageRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.endpoint,\n Parameters.chatThreadId,\n Parameters.chatMessageId\n ],\n headerParameters: [Parameters.accept, Parameters.contentType1],\n mediaType: \"json\",\n serializer\n};\nconst deleteChatMessageOperationSpec: coreClient.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/messages/{chatMessageId}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.endpoint,\n Parameters.chatThreadId,\n Parameters.chatMessageId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listChatParticipantsOperationSpec: coreClient.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/participants\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatParticipantsCollection\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [\n Parameters.maxPageSize,\n Parameters.skip,\n Parameters.apiVersion\n ],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst removeChatParticipantOperationSpec: coreClient.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/participants/:remove\",\n httpMethod: \"POST\",\n responses: {\n 204: {},\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n requestBody: Parameters.participantCommunicationIdentifier,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst addChatParticipantsOperationSpec: coreClient.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/participants/:add\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.AddChatParticipantsResult\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n requestBody: Parameters.addChatParticipantsRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst updateChatThreadPropertiesOperationSpec: coreClient.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}\",\n httpMethod: \"PATCH\",\n responses: {\n 204: {},\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n requestBody: Parameters.updateChatThreadRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept, Parameters.contentType1],\n mediaType: \"json\",\n serializer\n};\nconst getChatThreadPropertiesOperationSpec: coreClient.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatThreadProperties\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst sendTypingNotificationOperationSpec: coreClient.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}/typing\",\n httpMethod: \"POST\",\n responses: {\n 200: {},\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n requestBody: Parameters.sendTypingNotificationRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listChatReadReceiptsNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatMessageReadReceiptsCollection\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [\n Parameters.maxPageSize,\n Parameters.skip,\n Parameters.apiVersion\n ],\n urlParameters: [\n Parameters.endpoint,\n Parameters.chatThreadId,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listChatMessagesNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatMessagesCollection\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [\n Parameters.maxPageSize,\n Parameters.apiVersion,\n Parameters.startTime\n ],\n urlParameters: [\n Parameters.endpoint,\n Parameters.chatThreadId,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listChatParticipantsNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatParticipantsCollection\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [\n Parameters.maxPageSize,\n Parameters.skip,\n Parameters.apiVersion\n ],\n urlParameters: [\n Parameters.endpoint,\n Parameters.chatThreadId,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { Chat } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { ChatApiClientContext } from \"../chatApiClientContext\";\nimport {\n CreateChatThreadRequest,\n ChatCreateChatThreadOptionalParams,\n ChatCreateChatThreadResponse,\n ChatListChatThreadsOptionalParams,\n ChatListChatThreadsResponse,\n ChatDeleteChatThreadOptionalParams,\n ChatListChatThreadsNextOptionalParams,\n ChatListChatThreadsNextResponse\n} from \"../models\";\n\n/** Class containing Chat operations. */\nexport class ChatImpl implements Chat {\n private readonly client: ChatApiClientContext;\n\n /**\n * Initialize a new instance of the class Chat class.\n * @param client Reference to the service client\n */\n constructor(client: ChatApiClientContext) {\n this.client = client;\n }\n\n /**\n * Creates a chat thread.\n * @param createChatThreadRequest Request payload for creating a chat thread.\n * @param options The options parameters.\n */\n createChatThread(\n createChatThreadRequest: CreateChatThreadRequest,\n options?: ChatCreateChatThreadOptionalParams\n ): Promise<ChatCreateChatThreadResponse> {\n return this.client.sendOperationRequest(\n { createChatThreadRequest, options },\n createChatThreadOperationSpec\n );\n }\n\n /**\n * Gets the list of chat threads of a user.\n * @param options The options parameters.\n */\n listChatThreads(\n options?: ChatListChatThreadsOptionalParams\n ): Promise<ChatListChatThreadsResponse> {\n return this.client.sendOperationRequest(\n { options },\n listChatThreadsOperationSpec\n );\n }\n\n /**\n * Deletes a thread.\n * @param chatThreadId Id of the thread to be deleted.\n * @param options The options parameters.\n */\n deleteChatThread(\n chatThreadId: string,\n options?: ChatDeleteChatThreadOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { chatThreadId, options },\n deleteChatThreadOperationSpec\n );\n }\n\n /**\n * ListChatThreadsNext\n * @param nextLink The nextLink from the previous successful call to the ListChatThreads method.\n * @param options The options parameters.\n */\n listChatThreadsNext(\n nextLink: string,\n options?: ChatListChatThreadsNextOptionalParams\n ): Promise<ChatListChatThreadsNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listChatThreadsNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createChatThreadOperationSpec: coreClient.OperationSpec = {\n path: \"/chat/threads\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.CreateChatThreadResult\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n requestBody: Parameters.createChatThreadRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.accept,\n Parameters.contentType,\n Parameters.repeatabilityRequestId\n ],\n mediaType: \"json\",\n serializer\n};\nconst listChatThreadsOperationSpec: coreClient.OperationSpec = {\n path: \"/chat/threads\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatThreadsItemCollection\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [\n Parameters.maxPageSize,\n Parameters.apiVersion,\n Parameters.startTime\n ],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst deleteChatThreadOperationSpec: coreClient.OperationSpec = {\n path: \"/chat/threads/{chatThreadId}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.chatThreadId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listChatThreadsNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ChatThreadsItemCollection\n },\n 401: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 403: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 429: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n },\n 503: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n isError: true\n }\n },\n queryParameters: [\n Parameters.maxPageSize,\n Parameters.apiVersion,\n Parameters.startTime\n ],\n urlParameters: [Parameters.endpoint, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport { ChatApiClientOptionalParams } from \"./models\";\n\nexport class ChatApiClientContext extends coreClient.ServiceClient {\n endpoint: string;\n apiVersion: string;\n\n /**\n * Initializes a new instance of the ChatApiClientContext class.\n * @param endpoint The endpoint of the Azure Communication resource.\n * @param options The parameter options\n */\n constructor(endpoint: string, options?: ChatApiClientOptionalParams) {\n if (endpoint === undefined) {\n throw new Error(\"'endpoint' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: ChatApiClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\"\n };\n\n const packageDetails = `azsdk-js-azure-communication-chat/1.1.0`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix\n },\n baseUri: options.endpoint || \"{endpoint}\"\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.endpoint = endpoint;\n\n // Assigning values to Constant parameters\n this.apiVersion = options.apiVersion || \"2021-09-07\";\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { ChatThreadImpl, ChatImpl } from \"./operations\";\nimport { ChatThread, Chat } from \"./operationsInterfaces\";\nimport { ChatApiClientContext } from \"./chatApiClientContext\";\nimport { ChatApiClientOptionalParams } from \"./models\";\n\nexport class ChatApiClient extends ChatApiClientContext {\n /**\n * Initializes a new instance of the ChatApiClient class.\n * @param endpoint The endpoint of the Azure Communication resource.\n * @param options The parameter options\n */\n constructor(endpoint: string, options?: ChatApiClientOptionalParams) {\n super(endpoint, options);\n this.chatThread = new ChatThreadImpl(this);\n this.chat = new ChatImpl(this);\n }\n\n chatThread: ChatThread;\n chat: Chat;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CommunicationTokenCredential } from \"@azure/communication-common\";\nimport {\n bearerTokenAuthenticationPolicy,\n BearerTokenAuthenticationPolicyOptions,\n PipelinePolicy\n} from \"@azure/core-rest-pipeline\";\n\n/**\n * Creates a new CommunicationTokenCredentialPolicy factory.\n *\n * @param credential - The CommunicationTokenCredential implementation that can supply the user credential.\n */\nexport const createCommunicationTokenCredentialPolicy = (\n credential: CommunicationTokenCredential\n): PipelinePolicy => {\n const policyOptions: BearerTokenAuthenticationPolicyOptions = {\n credential: {\n getToken: (_scopes, options) => credential.getToken({ abortSignal: options?.abortSignal })\n },\n scopes: []\n };\n\n return bearerTokenAuthenticationPolicy(policyOptions);\n};\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { logger } from \"./models/logger\";\nimport {\n CommunicationIdentifier,\n CommunicationTokenCredential,\n serializeCommunicationIdentifier\n} from \"@azure/communication-common\";\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { SpanStatusCode } from \"@azure/core-tracing\";\nimport { createSpan } from \"./tracing\";\nimport {\n SendReadReceiptRequest,\n AddParticipantsRequest,\n SendMessageRequest\n} from \"./models/requests\";\n\nimport {\n AddChatParticipantsResult,\n ChatMessage,\n ChatMessageReadReceipt,\n ChatParticipant,\n ChatThreadProperties,\n SendChatMessageResult,\n ListPageSettings\n} from \"./models/models\";\nimport {\n mapToAddChatParticipantsRequestRestModel,\n mapToChatMessageSdkModel,\n mapToChatParticipantSdkModel,\n mapToChatThreadPropertiesSdkModel,\n mapToReadReceiptSdkModel\n} from \"./models/mappers\";\nimport {\n ChatThreadClientOptions,\n SendMessageOptions,\n GetMessageOptions,\n DeleteMessageOptions,\n ListMessagesOptions,\n UpdateMessageOptions,\n UpdateTopicOptions,\n AddParticipantsOptions,\n ListParticipantsOptions,\n RemoveParticipantOptions,\n SendTypingNotificationOptions,\n SendReadReceiptOptions,\n ListReadReceiptsOptions,\n GetPropertiesOptions\n} from \"./models/options\";\nimport { ChatApiClient } from \"./generated/src\";\nimport { createCommunicationTokenCredentialPolicy } from \"./credential/communicationTokenCredentialPolicy\";\nimport { InternalPipelineOptions } from \"@azure/core-rest-pipeline\";\nconst minimumTypingIntervalInMilliSeconds: number = 8000;\n\n/**\n * The client to do chat operations\n */\nexport class ChatThreadClient {\n /**\n * Thread ID of the ChatThreadClient\n */\n readonly threadId: string;\n\n private readonly tokenCredential: CommunicationTokenCredential;\n private readonly client: ChatApiClient;\n\n private timeOfLastTypingRequest: Date | undefined = undefined;\n\n constructor(\n private readonly endpoint: string,\n threadId: string,\n credential: CommunicationTokenCredential,\n options: ChatThreadClientOptions = {}\n ) {\n this.threadId = threadId;\n this.tokenCredential = credential;\n\n const internalPipelineOptions: InternalPipelineOptions = {\n ...options,\n ...{\n loggingOptions: {\n logger: logger.info\n }\n }\n };\n\n this.client = new ChatApiClient(this.endpoint, {\n endpoint: this.endpoint,\n ...internalPipelineOptions\n });\n\n const authPolicy = createCommunicationTokenCredentialPolicy(this.tokenCredential);\n this.client.pipeline.addPolicy(authPolicy);\n }\n\n /**\n * Gets a chat thread.\n * Returns the chat thread.\n * @param options - Operation options.\n */\n public async getProperties(options: GetPropertiesOptions = {}): Promise<ChatThreadProperties> {\n const { span, updatedOptions } = createSpan(\"ChatClient-GetProperties\", options);\n\n try {\n const result = await this.client.chatThread.getChatThreadProperties(\n this.threadId,\n updatedOptions\n );\n return mapToChatThreadPropertiesSdkModel(result);\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Updates a thread's topic.\n * @param topic - The topic needs to be updated to.\n * @param options - Operation options.\n */\n public async updateTopic(topic: string, options: UpdateTopicOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-UpdateTopic\", options);\n\n try {\n await this.client.chatThread.updateChatThreadProperties(\n this.threadId,\n { topic: topic },\n updatedOptions\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Sends a chat message to a thread identified by threadId.\n * Returns the id of the created message.\n * @param request - Request for sending a message.\n * @param options - Operation options.\n */\n public async sendMessage(\n request: SendMessageRequest,\n options: SendMessageOptions = {}\n ): Promise<SendChatMessageResult> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-SendMessage\", options);\n\n try {\n // reset typing notification clock\n this.timeOfLastTypingRequest = undefined;\n\n const result = await this.client.chatThread.sendChatMessage(\n this.threadId,\n { ...request, ...options },\n updatedOptions\n );\n return result;\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Gets a chat message identified by messageId.\n * Returns the specific message.\n * @param messageId - The message id of the message.\n * @param options - Operation options.\n */\n public async getMessage(\n messageId: string,\n options: GetMessageOptions = {}\n ): Promise<ChatMessage> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-GetMessage\", options);\n\n try {\n const result = await this.client.chatThread.getChatMessage(\n this.threadId,\n messageId,\n updatedOptions\n );\n return mapToChatMessageSdkModel(result);\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listMessagesPage(\n pageSettings: ListPageSettings,\n options: ListMessagesOptions = {}\n ): AsyncIterableIterator<ChatMessage[]> {\n if (!pageSettings.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatMessages(\n this.threadId,\n options\n );\n pageSettings.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatMessageSdkModel, this);\n }\n }\n\n while (pageSettings.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatMessagesNext(\n this.threadId,\n pageSettings.continuationToken,\n options\n );\n pageSettings.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatMessageSdkModel, this);\n } else {\n break;\n }\n }\n }\n\n private async *listMessagesAll(options: ListMessagesOptions): AsyncIterableIterator<ChatMessage> {\n for await (const page of this.listMessagesPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets a list of message from a thread identified by threadId.\n * Returns the list of the messages.\n * @param options - Get messages options.\n */\n public listMessages(options: ListMessagesOptions = {}): PagedAsyncIterableIterator<ChatMessage> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-ListMessages\", options);\n\n try {\n const iter = this.listMessagesAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listMessagesPage(settings, updatedOptions);\n }\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes a message identified by threadId and messageId\n * @param messageId - The message id of the message.\n * @param options - Operation options.\n */\n public async deleteMessage(messageId: string, options: DeleteMessageOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-DeleteMessage\", options);\n\n try {\n await this.client.chatThread.deleteChatMessage(this.threadId, messageId, updatedOptions);\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Updates a message identified by threadId and messageId\n * @param messageId - The message id of the message.\n * @param options - Operation options.\n */\n public async updateMessage(messageId: string, options: UpdateMessageOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-UpdateMessage\", options);\n\n try {\n await this.client.chatThread.updateChatMessage(\n this.threadId,\n messageId,\n options,\n updatedOptions\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Adds the details of chat participants belonging to the thread identified by threadId.\n * @param request - Thread participants' details to add in the thread roster\n * @param options - Operation options.\n */\n public async addParticipants(\n request: AddParticipantsRequest,\n options: AddParticipantsOptions = {}\n ): Promise<AddChatParticipantsResult> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-AddParticipants\", options);\n\n try {\n const result = await this.client.chatThread.addChatParticipants(\n this.threadId,\n mapToAddChatParticipantsRequestRestModel(request),\n updatedOptions\n );\n return result;\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listParticipantsPage(\n continuationState: ListPageSettings,\n options: ListParticipantsOptions = {}\n ): AsyncIterableIterator<ChatParticipant[]> {\n if (!continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatParticipants(\n this.threadId,\n options\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatParticipantSdkModel, this);\n }\n }\n\n while (continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatParticipantsNext(\n this.threadId,\n continuationState.continuationToken,\n options\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatParticipantSdkModel, this);\n } else {\n break;\n }\n }\n }\n\n private async *listParticipantsAll(\n options: ListParticipantsOptions\n ): AsyncIterableIterator<ChatParticipant> {\n for await (const page of this.listParticipantsPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets the participants of the thread identified by threadId.\n * Returns the lists of the participants.\n * @param options - Operation options.\n */\n public listParticipants(\n options: ListParticipantsOptions = {}\n ): PagedAsyncIterableIterator<ChatParticipant> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-ListParticipants\", options);\n\n try {\n const iter = this.listParticipantsAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listParticipantsPage(settings, updatedOptions);\n }\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Removes participant from the thread identified by threadId.\n * @param participant - Thread participant to remove from the thread roster\n * @param options - Operation options.\n */\n public async removeParticipant(\n participant: CommunicationIdentifier,\n options: RemoveParticipantOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-RemoveParticipant\", options);\n\n try {\n await this.client.chatThread.removeChatParticipant(\n this.threadId,\n serializeCommunicationIdentifier(participant),\n updatedOptions\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Sends a typing notification to the thread.\n * Doesn't attempt to send if the time since last notification is smaller than the minimum typing interval\n * @param options - - Operation options\n * @returns True if the typing message notification could be sent, otherwise false.\n */\n public async sendTypingNotification(\n options: SendTypingNotificationOptions = {}\n ): Promise<boolean> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-SendTypingNotification\", options);\n\n try {\n const dateNow = new Date();\n const { senderDisplayName, ...restOptions } = updatedOptions;\n if (this.canPostTypingNotification(dateNow)) {\n await this.client.chatThread.sendTypingNotification(this.threadId, {\n sendTypingNotificationRequest: { senderDisplayName: senderDisplayName },\n ...restOptions\n });\n\n this.timeOfLastTypingRequest = dateNow;\n return true;\n }\n\n logger.info(`Typing Notification NOT Send. [thread_id=${this.threadId}]`);\n return false;\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Sends a read receipt to the thread identified by threadId.\n * @param messageId - The message id of the message that user latest read.\n * @param request - Request for sending a read receipt\n * @param options - Operation options.\n */\n public async sendReadReceipt(\n request: SendReadReceiptRequest,\n options: SendReadReceiptOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-SendReadReceipt\", options);\n\n try {\n await this.client.chatThread.sendChatReadReceipt(this.threadId, request, updatedOptions);\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listReadReceiptsPage(\n continuationState: ListPageSettings,\n options: ListReadReceiptsOptions = {}\n ): AsyncIterableIterator<ChatMessageReadReceipt[]> {\n if (!continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatReadReceipts(\n this.threadId,\n options\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToReadReceiptSdkModel, this);\n }\n }\n\n while (continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatReadReceiptsNext(\n this.threadId,\n continuationState.continuationToken,\n options\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToReadReceiptSdkModel, this);\n } else {\n break;\n }\n }\n }\n\n private async *listReadReceiptsAll(\n options: ListReadReceiptsOptions\n ): AsyncIterableIterator<ChatMessageReadReceipt> {\n for await (const page of this.listReadReceiptsPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets a list of read receipt from a thread identified by threadId.\n * Returns the list of the messages.\n * @param options - Get messages options.\n */\n public listReadReceipts(\n options: ListReadReceiptsOptions = {}\n ): PagedAsyncIterableIterator<ChatMessageReadReceipt> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-ListChatReadReceipts\", options);\n\n try {\n const iter = this.listReadReceiptsAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listReadReceiptsPage(settings, updatedOptions);\n }\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private canPostTypingNotification(dateNow: Date): boolean {\n if (this.timeOfLastTypingRequest) {\n const timeSinceLastRequestInMilliSeconds =\n dateNow.getTime() - this.timeOfLastTypingRequest.getTime();\n\n if (timeSinceLastRequestInMilliSeconds < minimumTypingIntervalInMilliSeconds) {\n logger.info(`Typing interval check failed. [last_request=${this.timeOfLastTypingRequest}]`);\n return false;\n }\n }\n\n return true;\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { v4 as uuidv4 } from \"uuid\";\n\n/**\n * Generated Universally Unique Identifier\n *\n * @returns RFC4122 v4 UUID.\n * @internal\n */\nexport function generateUuid(): string {\n return uuidv4();\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/// <reference lib=\"esnext.asynciterable\" />\n\nimport { logger } from \"./models/logger\";\nimport { EventEmitter } from \"events\";\nimport { CommunicationTokenCredential } from \"@azure/communication-common\";\nimport {\n SignalingClient,\n ChatEventId,\n ChatMessageReceivedEvent,\n ChatMessageEditedEvent,\n ChatMessageDeletedEvent,\n ReadReceiptReceivedEvent,\n TypingIndicatorReceivedEvent,\n ChatThreadCreatedEvent,\n ChatThreadDeletedEvent,\n ChatThreadPropertiesUpdatedEvent,\n ParticipantsAddedEvent,\n ParticipantsRemovedEvent\n} from \"@azure/communication-signaling\";\nimport { getSignalingClient } from \"./signaling/signalingClient\";\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { SpanStatusCode } from \"@azure/core-tracing\";\nimport { createSpan } from \"./tracing\";\nimport { ChatThreadClient } from \"./chatThreadClient\";\nimport {\n ChatClientOptions,\n CreateChatThreadOptions,\n ListChatThreadsOptions,\n DeleteChatThreadOptions\n} from \"./models/options\";\nimport {\n mapToChatParticipantRestModel,\n mapToCreateChatThreadOptionsRestModel,\n mapToCreateChatThreadResultSdkModel\n} from \"./models/mappers\";\nimport { ChatThreadItem, CreateChatThreadResult, ListPageSettings } from \"./models/models\";\nimport { InternalPipelineOptions } from \"@azure/core-rest-pipeline\";\nimport { ChatApiClient } from \"./generated/src\";\nimport { CreateChatThreadRequest } from \"./models/requests\";\nimport { createCommunicationTokenCredentialPolicy } from \"./credential/communicationTokenCredentialPolicy\";\nimport { generateUuid } from \"./models/uuid\";\n\n/**\n * The client to do chat operations\n */\nexport class ChatClient {\n private readonly tokenCredential: CommunicationTokenCredential;\n private readonly clientOptions: ChatClientOptions;\n private readonly client: ChatApiClient;\n private readonly signalingClient: SignalingClient | undefined = undefined;\n private readonly emitter = new EventEmitter();\n private isRealtimeNotificationsStarted: boolean = false;\n\n /**\n * Creates an instance of the ChatClient for a given resource and user.\n *\n * @param endpoint - The url of the Communication Services resouce.\n * @param credential - The token credential. Use AzureCommunicationTokenCredential from \\@azure/communication-common to create a credential.\n * @param options - Additional client options.\n */\n constructor(\n private readonly endpoint: string,\n credential: CommunicationTokenCredential,\n options: ChatClientOptions = {}\n ) {\n this.tokenCredential = credential;\n this.clientOptions = { ...options };\n\n const internalPipelineOptions: InternalPipelineOptions = {\n ...options,\n ...{\n loggingOptions: {\n logger: logger.info\n }\n }\n };\n\n this.client = new ChatApiClient(this.endpoint, {\n endpoint: this.endpoint,\n ...internalPipelineOptions\n });\n\n const authPolicy = createCommunicationTokenCredentialPolicy(this.tokenCredential);\n this.client.pipeline.addPolicy(authPolicy);\n\n this.signalingClient = getSignalingClient(credential, logger);\n }\n\n /**\n * Returns ChatThreadClient with the specific thread id.\n * @param threadId - Thread ID for the ChatThreadClient\n */\n public getChatThreadClient(threadId: string): ChatThreadClient {\n return new ChatThreadClient(this.endpoint, threadId, this.tokenCredential, this.clientOptions);\n }\n\n /**\n * Creates a chat thread.\n * Returns thread client with the id of the created thread.\n * @param request - Request for creating a chat thread.\n * @param options - Operation options.\n */\n public async createChatThread(\n request: CreateChatThreadRequest,\n options: CreateChatThreadOptions = {}\n ): Promise<CreateChatThreadResult> {\n const { span, updatedOptions } = createSpan(\"ChatClient-CreateChatThread\", options);\n\n try {\n // We generate an UUID if the user does not provide an idempotencyToken value\n updatedOptions.idempotencyToken = updatedOptions.idempotencyToken ?? generateUuid();\n const updatedRestModelOptions = mapToCreateChatThreadOptionsRestModel(updatedOptions);\n\n const result = await this.client.chat.createChatThread(\n {\n topic: request.topic,\n participants: options.participants?.map((participant) =>\n mapToChatParticipantRestModel(participant)\n )\n },\n updatedRestModelOptions\n );\n return mapToCreateChatThreadResultSdkModel(result);\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listChatThreadsPage(\n continuationState: ListPageSettings,\n options: ListChatThreadsOptions = {}\n ): AsyncIterableIterator<ChatThreadItem[]> {\n if (!continuationState.continuationToken) {\n const currentSetResponse = await this.client.chat.listChatThreads(options);\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value;\n }\n }\n\n while (continuationState.continuationToken) {\n const currentSetResponse = await this.client.chat.listChatThreadsNext(\n continuationState.continuationToken,\n options\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value;\n } else {\n break;\n }\n }\n }\n\n private async *listChatThreadsAll(\n options: ListChatThreadsOptions\n ): AsyncIterableIterator<ChatThreadItem> {\n for await (const page of this.listChatThreadsPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets the list of chat threads of a user.\n * @param options - List chat threads options.\n */\n public listChatThreads(\n options: ListChatThreadsOptions = {}\n ): PagedAsyncIterableIterator<ChatThreadItem> {\n const { span, updatedOptions } = createSpan(\"ChatClient-ListChatThreads\", options);\n try {\n const iter = this.listChatThreadsAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listChatThreadsPage(settings, updatedOptions);\n }\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes a chat thread.\n * @param threadId - The ID of the thread to delete.\n * @param options - Operation options.\n */\n public async deleteChatThread(\n threadId: string,\n options: DeleteChatThreadOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatClient-DeleteChatThread\", options);\n\n try {\n await this.client.chat.deleteChatThread(threadId, updatedOptions);\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Start receiving realtime notifications.\n * Call this function before subscribing to any event.\n */\n public async startRealtimeNotifications(): Promise<void> {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are not supported in node js.\");\n }\n\n if (this.isRealtimeNotificationsStarted) {\n return;\n }\n\n this.isRealtimeNotificationsStarted = true;\n this.signalingClient.start();\n this.subscribeToSignalingEvents();\n }\n\n /**\n * Stop receiving realtime notifications.\n * This function would unsubscribe to all events.\n */\n public async stopRealtimeNotifications(): Promise<void> {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are not supported in node js.\");\n }\n\n this.isRealtimeNotificationsStarted = false;\n this.signalingClient.stop();\n this.emitter.removeAllListeners();\n }\n\n /**\n * Subscribe function for chatMessageReceived.\n * The initial sender will also receive this event.\n * You need to call startRealtimeNotifications before subscribing to any event.\n * @param event - The ChatMessageReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatMessageReceived\", listener: (e: ChatMessageReceivedEvent) => void): void;\n\n /**\n * Subscribe function for chatMessageEdited.\n * The initial sender will also receive this event.\n * @param event - The ChatMessageEditedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatMessageEdited\", listener: (e: ChatMessageEditedEvent) => void): void;\n\n /**\n * Subscribe function for chatMessageDeleted.\n * The initial sender will also receive this event.\n * @param event - The ChatMessageDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatMessageDeleted\", listener: (e: ChatMessageDeletedEvent) => void): void;\n\n /**\n * Subscribe function for typingIndicatorReceived.\n * The initial sender will also receive this event.\n * @param event - The TypingIndicatorReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(\n event: \"typingIndicatorReceived\",\n listener: (e: TypingIndicatorReceivedEvent) => void\n ): void;\n\n /**\n * Subscribe function for readReceiptReceived.\n * @param event - The ReadReceiptReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"readReceiptReceived\", listener: (e: ReadReceiptReceivedEvent) => void): void;\n\n /**\n * Subscribe function for chatThreadCreated.\n * @param event - The ChatThreadCreatedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatThreadCreated\", listener: (e: ChatThreadCreatedEvent) => void): void;\n\n /**\n * Subscribe function for chatThreadDeleted.\n * @param event - The ChatThreadDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatThreadDeleted\", listener: (e: ChatThreadDeletedEvent) => void): void;\n\n /**\n * Subscribe function for chatThreadPropertiesUpdated.\n * @param event - The ChatThreadPropertiesUpdatedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(\n event: \"chatThreadPropertiesUpdated\",\n listener: (e: ChatThreadPropertiesUpdatedEvent) => void\n ): void;\n\n /**\n * Subscribe function for participantsAdded.\n * @param event - The ParticipantsAddedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"participantsAdded\", listener: (e: ParticipantsAddedEvent) => void): void;\n\n /**\n * Subscribe function for participantsRemoved.\n * @param event - The ParticipantsRemovedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"participantsRemoved\", listener: (e: ParticipantsRemovedEvent) => void): void;\n\n public on(event: ChatEventId, listener: (e: any) => void): void {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are only supported in the browser.\");\n }\n\n if (!this.isRealtimeNotificationsStarted) {\n throw new Error(\n \"You must call startRealtimeNotifications before you can subscribe to events.\"\n );\n }\n\n this.emitter.on(event, listener);\n }\n\n /**\n * Unsubscribe from chatMessageReceived.\n * @param event - The ChatMessageReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatMessageReceived\", listener: (e: ChatMessageReceivedEvent) => void): void;\n\n /**\n * Unsubscribe from chatMessageEdited.\n * @param event - The ChatMessageEditedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatMessageEdited\", listener: (e: ChatMessageEditedEvent) => void): void;\n\n /**\n * Unsubscribe from chatMessageDeleted.\n * @param event - The ChatMessageDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatMessageDeleted\", listener: (e: ChatMessageDeletedEvent) => void): void;\n\n /**\n * Unsubscribe from typingIndicatorReceived.\n * @param event - The TypingIndicatorReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(\n event: \"typingIndicatorReceived\",\n listener: (e: TypingIndicatorReceivedEvent) => void\n ): void;\n\n /**\n * Unsubscribe from readReceiptReceived.\n * @param event - The ReadReceiptReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"readReceiptReceived\", listener: (e: ReadReceiptReceivedEvent) => void): void;\n\n /**\n * Unsubscribe from chatThreadCreated.\n * @param event - The ChatThreadCreatedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatThreadCreated\", listener: (e: ChatThreadCreatedEvent) => void): void;\n\n /**\n * Unsubscribe from chatThreadDeleted.\n * @param event - The ChatThreadDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatThreadDeleted\", listener: (e: ChatThreadDeletedEvent) => void): void;\n\n /**\n * Unsubscribe from chatThreadPropertiesUpdated.\n * @param event - The ChatThreadPropertiesUpdatedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(\n event: \"chatThreadPropertiesUpdated\",\n listener: (e: ChatThreadPropertiesUpdatedEvent) => void\n ): void;\n\n /**\n * Unsubscribe from participantsAdded.\n * @param event - The ParticipantsAddedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"participantsAdded\", listener: (e: ParticipantsAddedEvent) => void): void;\n\n /**\n * Unsubscribe from participantsRemoved.\n * @param event - The ParticipantsRemovedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"participantsRemoved\", listener: (e: ParticipantsRemovedEvent) => void): void;\n\n public off(event: ChatEventId, listener: (e: any) => void): void {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are only supported in the browser.\");\n }\n\n this.emitter.removeListener(event, listener);\n }\n\n private subscribeToSignalingEvents(): void {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are only supported in the browser.\");\n }\n\n this.signalingClient.on(\"chatMessageReceived\", (payload) => {\n this.emitter.emit(\"chatMessageReceived\", payload);\n });\n\n this.signalingClient.on(\"chatMessageEdited\", (payload) => {\n this.emitter.emit(\"chatMessageEdited\", payload);\n });\n\n this.signalingClient.on(\"chatMessageDeleted\", (payload) => {\n this.emitter.emit(\"chatMessageDeleted\", payload);\n });\n\n this.signalingClient.on(\"typingIndicatorReceived\", (payload) => {\n this.emitter.emit(\"typingIndicatorReceived\", payload);\n });\n\n this.signalingClient.on(\"readReceiptReceived\", (payload) => {\n this.emitter.emit(\"readReceiptReceived\", payload);\n });\n\n this.signalingClient.on(\"chatThreadCreated\", (payload) => {\n this.emitter.emit(\"chatThreadCreated\", payload);\n });\n\n this.signalingClient.on(\"chatThreadDeleted\", (payload) => {\n this.emitter.emit(\"chatThreadDeleted\", payload);\n });\n\n this.signalingClient.on(\"chatThreadPropertiesUpdated\", (payload) => {\n this.emitter.emit(\"chatThreadPropertiesUpdated\", payload);\n });\n\n this.signalingClient.on(\"participantsAdded\", (payload) => {\n this.emitter.emit(\"participantsAdded\", payload);\n });\n\n this.signalingClient.on(\"participantsRemoved\", (payload) => {\n this.emitter.emit(\"participantsRemoved\", payload);\n });\n }\n}\n"],"names":["createClientLogger","CommunicationSignalingClient","createSpanFunction","serializeCommunicationIdentifier","deserializeCommunicationIdentifier","SendReadReceiptRequestMapper","SendChatMessageRequestMapper","UpdateChatMessageRequestMapper","CommunicationIdentifierModelMapper","AddChatParticipantsRequestMapper","UpdateChatThreadRequestMapper","SendTypingNotificationRequestMapper","CreateChatThreadRequestMapper","coreClient.createSerializer","Mappers.ChatMessageReadReceiptsCollection","Mappers.CommunicationErrorResponse","Parameters.maxPageSize","Parameters.skip","Parameters.apiVersion","Parameters.endpoint","Parameters.chatThreadId","Parameters.accept","Parameters.sendReadReceiptRequest","Parameters.contentType","Mappers.SendChatMessageResult","Parameters.sendChatMessageRequest","Mappers.ChatMessagesCollection","Parameters.startTime","Mappers.ChatMessage","Parameters.chatMessageId","Parameters.updateChatMessageRequest","Parameters.contentType1","Mappers.ChatParticipantsCollection","Parameters.participantCommunicationIdentifier","Mappers.AddChatParticipantsResult","Parameters.addChatParticipantsRequest","Parameters.updateChatThreadRequest","Mappers.ChatThreadProperties","Parameters.sendTypingNotificationRequest","Parameters.nextLink","serializer","Mappers.CreateChatThreadResult","Parameters.createChatThreadRequest","Parameters.repeatabilityRequestId","Mappers.ChatThreadsItemCollection","coreClient.ServiceClient","bearerTokenAuthenticationPolicy","SpanStatusCode","__asyncValues","__asyncDelegator","uuidv4","EventEmitter"],"mappings":"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"}
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
3
|
/// <reference lib="esnext.asynciterable" />
|
|
4
|
-
import { __asyncDelegator, __asyncGenerator, __asyncValues, __await
|
|
4
|
+
import { __asyncDelegator, __asyncGenerator, __asyncValues, __await } from "tslib";
|
|
5
5
|
import { logger } from "./models/logger";
|
|
6
6
|
import { EventEmitter } from "events";
|
|
7
|
-
import { SDK_VERSION } from "./constants";
|
|
8
7
|
import { getSignalingClient } from "./signaling/signalingClient";
|
|
9
|
-
import { createPipelineFromOptions, operationOptionsToRequestOptionsBase, generateUuid } from "@azure/core-http";
|
|
10
|
-
import "@azure/core-paging";
|
|
11
8
|
import { SpanStatusCode } from "@azure/core-tracing";
|
|
12
9
|
import { createSpan } from "./tracing";
|
|
13
10
|
import { ChatThreadClient } from "./chatThreadClient";
|
|
14
11
|
import { mapToChatParticipantRestModel, mapToCreateChatThreadOptionsRestModel, mapToCreateChatThreadResultSdkModel } from "./models/mappers";
|
|
15
|
-
import { createCommunicationTokenCredentialPolicy } from "./credential/communicationTokenCredentialPolicy";
|
|
16
12
|
import { ChatApiClient } from "./generated/src";
|
|
13
|
+
import { createCommunicationTokenCredentialPolicy } from "./credential/communicationTokenCredentialPolicy";
|
|
14
|
+
import { generateUuid } from "./models/uuid";
|
|
17
15
|
/**
|
|
18
16
|
* The client to do chat operations
|
|
19
17
|
*/
|
|
@@ -32,25 +30,14 @@ export class ChatClient {
|
|
|
32
30
|
this.isRealtimeNotificationsStarted = false;
|
|
33
31
|
this.tokenCredential = credential;
|
|
34
32
|
this.clientOptions = Object.assign({}, options);
|
|
35
|
-
const
|
|
36
|
-
if (!options.userAgentOptions) {
|
|
37
|
-
options.userAgentOptions = {};
|
|
38
|
-
}
|
|
39
|
-
const userAgentOptions = Object.assign({}, options.userAgentOptions);
|
|
40
|
-
if (options.userAgentOptions.userAgentPrefix) {
|
|
41
|
-
userAgentOptions.userAgentPrefix = `${options.userAgentOptions.userAgentPrefix} ${libInfo}`;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
userAgentOptions.userAgentPrefix = libInfo;
|
|
45
|
-
}
|
|
46
|
-
const internalPipelineOptions = Object.assign(Object.assign({}, Object.assign(Object.assign({}, options), { userAgentOptions })), {
|
|
33
|
+
const internalPipelineOptions = Object.assign(Object.assign({}, options), {
|
|
47
34
|
loggingOptions: {
|
|
48
35
|
logger: logger.info
|
|
49
36
|
}
|
|
50
37
|
});
|
|
38
|
+
this.client = new ChatApiClient(this.endpoint, Object.assign({ endpoint: this.endpoint }, internalPipelineOptions));
|
|
51
39
|
const authPolicy = createCommunicationTokenCredentialPolicy(this.tokenCredential);
|
|
52
|
-
|
|
53
|
-
this.client = new ChatApiClient(this.endpoint, pipeline);
|
|
40
|
+
this.client.pipeline.addPolicy(authPolicy);
|
|
54
41
|
this.signalingClient = getSignalingClient(credential, logger);
|
|
55
42
|
}
|
|
56
43
|
/**
|
|
@@ -73,10 +60,10 @@ export class ChatClient {
|
|
|
73
60
|
// We generate an UUID if the user does not provide an idempotencyToken value
|
|
74
61
|
updatedOptions.idempotencyToken = (_a = updatedOptions.idempotencyToken) !== null && _a !== void 0 ? _a : generateUuid();
|
|
75
62
|
const updatedRestModelOptions = mapToCreateChatThreadOptionsRestModel(updatedOptions);
|
|
76
|
-
const
|
|
63
|
+
const result = await this.client.chat.createChatThread({
|
|
77
64
|
topic: request.topic,
|
|
78
65
|
participants: (_b = options.participants) === null || _b === void 0 ? void 0 : _b.map((participant) => mapToChatParticipantRestModel(participant))
|
|
79
|
-
},
|
|
66
|
+
}, updatedRestModelOptions);
|
|
80
67
|
return mapToCreateChatThreadResultSdkModel(result);
|
|
81
68
|
}
|
|
82
69
|
catch (e) {
|
|
@@ -92,16 +79,15 @@ export class ChatClient {
|
|
|
92
79
|
}
|
|
93
80
|
listChatThreadsPage(continuationState, options = {}) {
|
|
94
81
|
return __asyncGenerator(this, arguments, function* listChatThreadsPage_1() {
|
|
95
|
-
const requestOptions = operationOptionsToRequestOptionsBase(options);
|
|
96
82
|
if (!continuationState.continuationToken) {
|
|
97
|
-
const currentSetResponse = yield __await(this.client.chat.listChatThreads(
|
|
83
|
+
const currentSetResponse = yield __await(this.client.chat.listChatThreads(options));
|
|
98
84
|
continuationState.continuationToken = currentSetResponse.nextLink;
|
|
99
85
|
if (currentSetResponse.value) {
|
|
100
86
|
yield yield __await(currentSetResponse.value);
|
|
101
87
|
}
|
|
102
88
|
}
|
|
103
89
|
while (continuationState.continuationToken) {
|
|
104
|
-
const currentSetResponse = yield __await(this.client.chat.listChatThreadsNext(continuationState.continuationToken,
|
|
90
|
+
const currentSetResponse = yield __await(this.client.chat.listChatThreadsNext(continuationState.continuationToken, options));
|
|
105
91
|
continuationState.continuationToken = currentSetResponse.nextLink;
|
|
106
92
|
if (currentSetResponse.value) {
|
|
107
93
|
yield yield __await(currentSetResponse.value);
|
|
@@ -169,7 +155,7 @@ export class ChatClient {
|
|
|
169
155
|
async deleteChatThread(threadId, options = {}) {
|
|
170
156
|
const { span, updatedOptions } = createSpan("ChatClient-DeleteChatThread", options);
|
|
171
157
|
try {
|
|
172
|
-
await this.client.chat.deleteChatThread(threadId,
|
|
158
|
+
await this.client.chat.deleteChatThread(threadId, updatedOptions);
|
|
173
159
|
}
|
|
174
160
|
catch (e) {
|
|
175
161
|
span.setStatus({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatClient.js","sourceRoot":"","sources":["../../src/chatClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/// <reference lib=\"esnext.asynciterable\" />\n\nimport { logger } from \"./models/logger\";\nimport { EventEmitter } from \"events\";\nimport { SDK_VERSION } from \"./constants\";\nimport { CommunicationTokenCredential } from \"@azure/communication-common\";\nimport {\n SignalingClient,\n ChatEventId,\n ChatMessageReceivedEvent,\n ChatMessageEditedEvent,\n ChatMessageDeletedEvent,\n ReadReceiptReceivedEvent,\n TypingIndicatorReceivedEvent,\n ChatThreadCreatedEvent,\n ChatThreadDeletedEvent,\n ChatThreadPropertiesUpdatedEvent,\n ParticipantsAddedEvent,\n ParticipantsRemovedEvent\n} from \"@azure/communication-signaling\";\nimport { getSignalingClient } from \"./signaling/signalingClient\";\nimport {\n InternalPipelineOptions,\n createPipelineFromOptions,\n operationOptionsToRequestOptionsBase,\n generateUuid\n} from \"@azure/core-http\";\nimport \"@azure/core-paging\";\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { SpanStatusCode } from \"@azure/core-tracing\";\nimport { createSpan } from \"./tracing\";\nimport { ChatThreadClient } from \"./chatThreadClient\";\nimport {\n ChatClientOptions,\n CreateChatThreadOptions,\n ListChatThreadsOptions,\n DeleteChatThreadOptions\n} from \"./models/options\";\nimport {\n mapToChatParticipantRestModel,\n mapToCreateChatThreadOptionsRestModel,\n mapToCreateChatThreadResultSdkModel\n} from \"./models/mappers\";\nimport { ChatThreadItem, CreateChatThreadResult, ListPageSettings } from \"./models/models\";\nimport { createCommunicationTokenCredentialPolicy } from \"./credential/communicationTokenCredentialPolicy\";\nimport { ChatApiClient } from \"./generated/src\";\nimport { CreateChatThreadRequest } from \"./models/requests\";\n\n/**\n * The client to do chat operations\n */\nexport class ChatClient {\n private readonly tokenCredential: CommunicationTokenCredential;\n private readonly clientOptions: ChatClientOptions;\n // private readonly api: Chat;\n private readonly client: ChatApiClient;\n private readonly signalingClient: SignalingClient | undefined = undefined;\n private readonly emitter = new EventEmitter();\n private isRealtimeNotificationsStarted: boolean = false;\n\n /**\n * Creates an instance of the ChatClient for a given resource and user.\n *\n * @param endpoint - The url of the Communication Services resouce.\n * @param credential - The token credential. Use AzureCommunicationTokenCredential from \\@azure/communication-common to create a credential.\n * @param options - Additional client options.\n */\n constructor(\n private readonly endpoint: string,\n credential: CommunicationTokenCredential,\n options: ChatClientOptions = {}\n ) {\n this.tokenCredential = credential;\n this.clientOptions = { ...options };\n\n const libInfo = `azsdk-js-communication-chat/${SDK_VERSION}`;\n\n if (!options.userAgentOptions) {\n options.userAgentOptions = {};\n }\n\n const userAgentOptions = { ...options.userAgentOptions };\n if (options.userAgentOptions.userAgentPrefix) {\n userAgentOptions.userAgentPrefix = `${options.userAgentOptions.userAgentPrefix} ${libInfo}`;\n } else {\n userAgentOptions.userAgentPrefix = libInfo;\n }\n\n const internalPipelineOptions: InternalPipelineOptions = {\n ...{ ...options, userAgentOptions },\n ...{\n loggingOptions: {\n logger: logger.info\n }\n }\n };\n\n const authPolicy = createCommunicationTokenCredentialPolicy(this.tokenCredential);\n const pipeline = createPipelineFromOptions(internalPipelineOptions, authPolicy);\n\n this.client = new ChatApiClient(this.endpoint, pipeline);\n\n this.signalingClient = getSignalingClient(credential, logger);\n }\n\n /**\n * Returns ChatThreadClient with the specific thread id.\n * @param threadId - Thread ID for the ChatThreadClient\n */\n public getChatThreadClient(threadId: string): ChatThreadClient {\n return new ChatThreadClient(this.endpoint, threadId, this.tokenCredential, this.clientOptions);\n }\n\n /**\n * Creates a chat thread.\n * Returns thread client with the id of the created thread.\n * @param request - Request for creating a chat thread.\n * @param options - Operation options.\n */\n public async createChatThread(\n request: CreateChatThreadRequest,\n options: CreateChatThreadOptions = {}\n ): Promise<CreateChatThreadResult> {\n const { span, updatedOptions } = createSpan(\"ChatClient-CreateChatThread\", options);\n\n try {\n // We generate an UUID if the user does not provide an idempotencyToken value\n updatedOptions.idempotencyToken = updatedOptions.idempotencyToken ?? generateUuid();\n const updatedRestModelOptions = mapToCreateChatThreadOptionsRestModel(updatedOptions);\n\n const { _response, ...result } = await this.client.chat.createChatThread(\n {\n topic: request.topic,\n participants: options.participants?.map((participant) =>\n mapToChatParticipantRestModel(participant)\n )\n },\n operationOptionsToRequestOptionsBase(updatedRestModelOptions)\n );\n return mapToCreateChatThreadResultSdkModel(result);\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listChatThreadsPage(\n continuationState: ListPageSettings,\n options: ListChatThreadsOptions = {}\n ): AsyncIterableIterator<ChatThreadItem[]> {\n const requestOptions = operationOptionsToRequestOptionsBase(options);\n if (!continuationState.continuationToken) {\n const currentSetResponse = await this.client.chat.listChatThreads(requestOptions);\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value;\n }\n }\n\n while (continuationState.continuationToken) {\n const currentSetResponse = await this.client.chat.listChatThreadsNext(\n continuationState.continuationToken,\n requestOptions\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value;\n } else {\n break;\n }\n }\n }\n\n private async *listChatThreadsAll(\n options: ListChatThreadsOptions\n ): AsyncIterableIterator<ChatThreadItem> {\n for await (const page of this.listChatThreadsPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets the list of chat threads of a user.\n * @param options - List chat threads options.\n */\n public listChatThreads(\n options: ListChatThreadsOptions = {}\n ): PagedAsyncIterableIterator<ChatThreadItem> {\n const { span, updatedOptions } = createSpan(\"ChatClient-ListChatThreads\", options);\n try {\n const iter = this.listChatThreadsAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listChatThreadsPage(settings, updatedOptions);\n }\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes a chat thread.\n * @param threadId - The ID of the thread to delete.\n * @param options - Operation options.\n */\n public async deleteChatThread(\n threadId: string,\n options: DeleteChatThreadOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatClient-DeleteChatThread\", options);\n\n try {\n await this.client.chat.deleteChatThread(\n threadId,\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Start receiving realtime notifications.\n * Call this function before subscribing to any event.\n */\n public async startRealtimeNotifications(): Promise<void> {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are not supported in node js.\");\n }\n\n if (this.isRealtimeNotificationsStarted) {\n return;\n }\n\n this.isRealtimeNotificationsStarted = true;\n this.signalingClient.start();\n this.subscribeToSignalingEvents();\n }\n\n /**\n * Stop receiving realtime notifications.\n * This function would unsubscribe to all events.\n */\n public async stopRealtimeNotifications(): Promise<void> {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are not supported in node js.\");\n }\n\n this.isRealtimeNotificationsStarted = false;\n this.signalingClient.stop();\n this.emitter.removeAllListeners();\n }\n\n /**\n * Subscribe function for chatMessageReceived.\n * The initial sender will also receive this event.\n * You need to call startRealtimeNotifications before subscribing to any event.\n * @param event - The ChatMessageReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatMessageReceived\", listener: (e: ChatMessageReceivedEvent) => void): void;\n\n /**\n * Subscribe function for chatMessageEdited.\n * The initial sender will also receive this event.\n * @param event - The ChatMessageEditedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatMessageEdited\", listener: (e: ChatMessageEditedEvent) => void): void;\n\n /**\n * Subscribe function for chatMessageDeleted.\n * The initial sender will also receive this event.\n * @param event - The ChatMessageDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatMessageDeleted\", listener: (e: ChatMessageDeletedEvent) => void): void;\n\n /**\n * Subscribe function for typingIndicatorReceived.\n * The initial sender will also receive this event.\n * @param event - The TypingIndicatorReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(\n event: \"typingIndicatorReceived\",\n listener: (e: TypingIndicatorReceivedEvent) => void\n ): void;\n\n /**\n * Subscribe function for readReceiptReceived.\n * @param event - The ReadReceiptReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"readReceiptReceived\", listener: (e: ReadReceiptReceivedEvent) => void): void;\n\n /**\n * Subscribe function for chatThreadCreated.\n * @param event - The ChatThreadCreatedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatThreadCreated\", listener: (e: ChatThreadCreatedEvent) => void): void;\n\n /**\n * Subscribe function for chatThreadDeleted.\n * @param event - The ChatThreadDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatThreadDeleted\", listener: (e: ChatThreadDeletedEvent) => void): void;\n\n /**\n * Subscribe function for chatThreadPropertiesUpdated.\n * @param event - The ChatThreadPropertiesUpdatedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(\n event: \"chatThreadPropertiesUpdated\",\n listener: (e: ChatThreadPropertiesUpdatedEvent) => void\n ): void;\n\n /**\n * Subscribe function for participantsAdded.\n * @param event - The ParticipantsAddedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"participantsAdded\", listener: (e: ParticipantsAddedEvent) => void): void;\n\n /**\n * Subscribe function for participantsRemoved.\n * @param event - The ParticipantsRemovedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"participantsRemoved\", listener: (e: ParticipantsRemovedEvent) => void): void;\n\n public on(event: ChatEventId, listener: (e: any) => void): void {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are only supported in the browser.\");\n }\n\n if (!this.isRealtimeNotificationsStarted) {\n throw new Error(\n \"You must call startRealtimeNotifications before you can subscribe to events.\"\n );\n }\n\n this.emitter.on(event, listener);\n }\n\n /**\n * Unsubscribe from chatMessageReceived.\n * @param event - The ChatMessageReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatMessageReceived\", listener: (e: ChatMessageReceivedEvent) => void): void;\n\n /**\n * Unsubscribe from chatMessageEdited.\n * @param event - The ChatMessageEditedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatMessageEdited\", listener: (e: ChatMessageEditedEvent) => void): void;\n\n /**\n * Unsubscribe from chatMessageDeleted.\n * @param event - The ChatMessageDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatMessageDeleted\", listener: (e: ChatMessageDeletedEvent) => void): void;\n\n /**\n * Unsubscribe from typingIndicatorReceived.\n * @param event - The TypingIndicatorReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(\n event: \"typingIndicatorReceived\",\n listener: (e: TypingIndicatorReceivedEvent) => void\n ): void;\n\n /**\n * Unsubscribe from readReceiptReceived.\n * @param event - The ReadReceiptReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"readReceiptReceived\", listener: (e: ReadReceiptReceivedEvent) => void): void;\n\n /**\n * Unsubscribe from chatThreadCreated.\n * @param event - The ChatThreadCreatedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatThreadCreated\", listener: (e: ChatThreadCreatedEvent) => void): void;\n\n /**\n * Unsubscribe from chatThreadDeleted.\n * @param event - The ChatThreadDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatThreadDeleted\", listener: (e: ChatThreadDeletedEvent) => void): void;\n\n /**\n * Unsubscribe from chatThreadPropertiesUpdated.\n * @param event - The ChatThreadPropertiesUpdatedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(\n event: \"chatThreadPropertiesUpdated\",\n listener: (e: ChatThreadPropertiesUpdatedEvent) => void\n ): void;\n\n /**\n * Unsubscribe from participantsAdded.\n * @param event - The ParticipantsAddedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"participantsAdded\", listener: (e: ParticipantsAddedEvent) => void): void;\n\n /**\n * Unsubscribe from participantsRemoved.\n * @param event - The ParticipantsRemovedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"participantsRemoved\", listener: (e: ParticipantsRemovedEvent) => void): void;\n\n public off(event: ChatEventId, listener: (e: any) => void): void {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are only supported in the browser.\");\n }\n\n this.emitter.removeListener(event, listener);\n }\n\n private subscribeToSignalingEvents(): void {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are only supported in the browser.\");\n }\n\n this.signalingClient.on(\"chatMessageReceived\", (payload) => {\n this.emitter.emit(\"chatMessageReceived\", payload);\n });\n\n this.signalingClient.on(\"chatMessageEdited\", (payload) => {\n this.emitter.emit(\"chatMessageEdited\", payload);\n });\n\n this.signalingClient.on(\"chatMessageDeleted\", (payload) => {\n this.emitter.emit(\"chatMessageDeleted\", payload);\n });\n\n this.signalingClient.on(\"typingIndicatorReceived\", (payload) => {\n this.emitter.emit(\"typingIndicatorReceived\", payload);\n });\n\n this.signalingClient.on(\"readReceiptReceived\", (payload) => {\n this.emitter.emit(\"readReceiptReceived\", payload);\n });\n\n this.signalingClient.on(\"chatThreadCreated\", (payload) => {\n this.emitter.emit(\"chatThreadCreated\", payload);\n });\n\n this.signalingClient.on(\"chatThreadDeleted\", (payload) => {\n this.emitter.emit(\"chatThreadDeleted\", payload);\n });\n\n this.signalingClient.on(\"chatThreadPropertiesUpdated\", (payload) => {\n this.emitter.emit(\"chatThreadPropertiesUpdated\", payload);\n });\n\n this.signalingClient.on(\"participantsAdded\", (payload) => {\n this.emitter.emit(\"participantsAdded\", payload);\n });\n\n this.signalingClient.on(\"participantsRemoved\", (payload) => {\n this.emitter.emit(\"participantsRemoved\", payload);\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"chatClient.js","sourceRoot":"","sources":["../../src/chatClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/// <reference lib=\"esnext.asynciterable\" />\n\nimport { logger } from \"./models/logger\";\nimport { EventEmitter } from \"events\";\nimport { CommunicationTokenCredential } from \"@azure/communication-common\";\nimport {\n SignalingClient,\n ChatEventId,\n ChatMessageReceivedEvent,\n ChatMessageEditedEvent,\n ChatMessageDeletedEvent,\n ReadReceiptReceivedEvent,\n TypingIndicatorReceivedEvent,\n ChatThreadCreatedEvent,\n ChatThreadDeletedEvent,\n ChatThreadPropertiesUpdatedEvent,\n ParticipantsAddedEvent,\n ParticipantsRemovedEvent\n} from \"@azure/communication-signaling\";\nimport { getSignalingClient } from \"./signaling/signalingClient\";\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { SpanStatusCode } from \"@azure/core-tracing\";\nimport { createSpan } from \"./tracing\";\nimport { ChatThreadClient } from \"./chatThreadClient\";\nimport {\n ChatClientOptions,\n CreateChatThreadOptions,\n ListChatThreadsOptions,\n DeleteChatThreadOptions\n} from \"./models/options\";\nimport {\n mapToChatParticipantRestModel,\n mapToCreateChatThreadOptionsRestModel,\n mapToCreateChatThreadResultSdkModel\n} from \"./models/mappers\";\nimport { ChatThreadItem, CreateChatThreadResult, ListPageSettings } from \"./models/models\";\nimport { InternalPipelineOptions } from \"@azure/core-rest-pipeline\";\nimport { ChatApiClient } from \"./generated/src\";\nimport { CreateChatThreadRequest } from \"./models/requests\";\nimport { createCommunicationTokenCredentialPolicy } from \"./credential/communicationTokenCredentialPolicy\";\nimport { generateUuid } from \"./models/uuid\";\n\n/**\n * The client to do chat operations\n */\nexport class ChatClient {\n private readonly tokenCredential: CommunicationTokenCredential;\n private readonly clientOptions: ChatClientOptions;\n private readonly client: ChatApiClient;\n private readonly signalingClient: SignalingClient | undefined = undefined;\n private readonly emitter = new EventEmitter();\n private isRealtimeNotificationsStarted: boolean = false;\n\n /**\n * Creates an instance of the ChatClient for a given resource and user.\n *\n * @param endpoint - The url of the Communication Services resouce.\n * @param credential - The token credential. Use AzureCommunicationTokenCredential from \\@azure/communication-common to create a credential.\n * @param options - Additional client options.\n */\n constructor(\n private readonly endpoint: string,\n credential: CommunicationTokenCredential,\n options: ChatClientOptions = {}\n ) {\n this.tokenCredential = credential;\n this.clientOptions = { ...options };\n\n const internalPipelineOptions: InternalPipelineOptions = {\n ...options,\n ...{\n loggingOptions: {\n logger: logger.info\n }\n }\n };\n\n this.client = new ChatApiClient(this.endpoint, {\n endpoint: this.endpoint,\n ...internalPipelineOptions\n });\n\n const authPolicy = createCommunicationTokenCredentialPolicy(this.tokenCredential);\n this.client.pipeline.addPolicy(authPolicy);\n\n this.signalingClient = getSignalingClient(credential, logger);\n }\n\n /**\n * Returns ChatThreadClient with the specific thread id.\n * @param threadId - Thread ID for the ChatThreadClient\n */\n public getChatThreadClient(threadId: string): ChatThreadClient {\n return new ChatThreadClient(this.endpoint, threadId, this.tokenCredential, this.clientOptions);\n }\n\n /**\n * Creates a chat thread.\n * Returns thread client with the id of the created thread.\n * @param request - Request for creating a chat thread.\n * @param options - Operation options.\n */\n public async createChatThread(\n request: CreateChatThreadRequest,\n options: CreateChatThreadOptions = {}\n ): Promise<CreateChatThreadResult> {\n const { span, updatedOptions } = createSpan(\"ChatClient-CreateChatThread\", options);\n\n try {\n // We generate an UUID if the user does not provide an idempotencyToken value\n updatedOptions.idempotencyToken = updatedOptions.idempotencyToken ?? generateUuid();\n const updatedRestModelOptions = mapToCreateChatThreadOptionsRestModel(updatedOptions);\n\n const result = await this.client.chat.createChatThread(\n {\n topic: request.topic,\n participants: options.participants?.map((participant) =>\n mapToChatParticipantRestModel(participant)\n )\n },\n updatedRestModelOptions\n );\n return mapToCreateChatThreadResultSdkModel(result);\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listChatThreadsPage(\n continuationState: ListPageSettings,\n options: ListChatThreadsOptions = {}\n ): AsyncIterableIterator<ChatThreadItem[]> {\n if (!continuationState.continuationToken) {\n const currentSetResponse = await this.client.chat.listChatThreads(options);\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value;\n }\n }\n\n while (continuationState.continuationToken) {\n const currentSetResponse = await this.client.chat.listChatThreadsNext(\n continuationState.continuationToken,\n options\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value;\n } else {\n break;\n }\n }\n }\n\n private async *listChatThreadsAll(\n options: ListChatThreadsOptions\n ): AsyncIterableIterator<ChatThreadItem> {\n for await (const page of this.listChatThreadsPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets the list of chat threads of a user.\n * @param options - List chat threads options.\n */\n public listChatThreads(\n options: ListChatThreadsOptions = {}\n ): PagedAsyncIterableIterator<ChatThreadItem> {\n const { span, updatedOptions } = createSpan(\"ChatClient-ListChatThreads\", options);\n try {\n const iter = this.listChatThreadsAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listChatThreadsPage(settings, updatedOptions);\n }\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes a chat thread.\n * @param threadId - The ID of the thread to delete.\n * @param options - Operation options.\n */\n public async deleteChatThread(\n threadId: string,\n options: DeleteChatThreadOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatClient-DeleteChatThread\", options);\n\n try {\n await this.client.chat.deleteChatThread(threadId, updatedOptions);\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Start receiving realtime notifications.\n * Call this function before subscribing to any event.\n */\n public async startRealtimeNotifications(): Promise<void> {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are not supported in node js.\");\n }\n\n if (this.isRealtimeNotificationsStarted) {\n return;\n }\n\n this.isRealtimeNotificationsStarted = true;\n this.signalingClient.start();\n this.subscribeToSignalingEvents();\n }\n\n /**\n * Stop receiving realtime notifications.\n * This function would unsubscribe to all events.\n */\n public async stopRealtimeNotifications(): Promise<void> {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are not supported in node js.\");\n }\n\n this.isRealtimeNotificationsStarted = false;\n this.signalingClient.stop();\n this.emitter.removeAllListeners();\n }\n\n /**\n * Subscribe function for chatMessageReceived.\n * The initial sender will also receive this event.\n * You need to call startRealtimeNotifications before subscribing to any event.\n * @param event - The ChatMessageReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatMessageReceived\", listener: (e: ChatMessageReceivedEvent) => void): void;\n\n /**\n * Subscribe function for chatMessageEdited.\n * The initial sender will also receive this event.\n * @param event - The ChatMessageEditedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatMessageEdited\", listener: (e: ChatMessageEditedEvent) => void): void;\n\n /**\n * Subscribe function for chatMessageDeleted.\n * The initial sender will also receive this event.\n * @param event - The ChatMessageDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatMessageDeleted\", listener: (e: ChatMessageDeletedEvent) => void): void;\n\n /**\n * Subscribe function for typingIndicatorReceived.\n * The initial sender will also receive this event.\n * @param event - The TypingIndicatorReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(\n event: \"typingIndicatorReceived\",\n listener: (e: TypingIndicatorReceivedEvent) => void\n ): void;\n\n /**\n * Subscribe function for readReceiptReceived.\n * @param event - The ReadReceiptReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"readReceiptReceived\", listener: (e: ReadReceiptReceivedEvent) => void): void;\n\n /**\n * Subscribe function for chatThreadCreated.\n * @param event - The ChatThreadCreatedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatThreadCreated\", listener: (e: ChatThreadCreatedEvent) => void): void;\n\n /**\n * Subscribe function for chatThreadDeleted.\n * @param event - The ChatThreadDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatThreadDeleted\", listener: (e: ChatThreadDeletedEvent) => void): void;\n\n /**\n * Subscribe function for chatThreadPropertiesUpdated.\n * @param event - The ChatThreadPropertiesUpdatedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(\n event: \"chatThreadPropertiesUpdated\",\n listener: (e: ChatThreadPropertiesUpdatedEvent) => void\n ): void;\n\n /**\n * Subscribe function for participantsAdded.\n * @param event - The ParticipantsAddedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"participantsAdded\", listener: (e: ParticipantsAddedEvent) => void): void;\n\n /**\n * Subscribe function for participantsRemoved.\n * @param event - The ParticipantsRemovedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"participantsRemoved\", listener: (e: ParticipantsRemovedEvent) => void): void;\n\n public on(event: ChatEventId, listener: (e: any) => void): void {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are only supported in the browser.\");\n }\n\n if (!this.isRealtimeNotificationsStarted) {\n throw new Error(\n \"You must call startRealtimeNotifications before you can subscribe to events.\"\n );\n }\n\n this.emitter.on(event, listener);\n }\n\n /**\n * Unsubscribe from chatMessageReceived.\n * @param event - The ChatMessageReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatMessageReceived\", listener: (e: ChatMessageReceivedEvent) => void): void;\n\n /**\n * Unsubscribe from chatMessageEdited.\n * @param event - The ChatMessageEditedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatMessageEdited\", listener: (e: ChatMessageEditedEvent) => void): void;\n\n /**\n * Unsubscribe from chatMessageDeleted.\n * @param event - The ChatMessageDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatMessageDeleted\", listener: (e: ChatMessageDeletedEvent) => void): void;\n\n /**\n * Unsubscribe from typingIndicatorReceived.\n * @param event - The TypingIndicatorReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(\n event: \"typingIndicatorReceived\",\n listener: (e: TypingIndicatorReceivedEvent) => void\n ): void;\n\n /**\n * Unsubscribe from readReceiptReceived.\n * @param event - The ReadReceiptReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"readReceiptReceived\", listener: (e: ReadReceiptReceivedEvent) => void): void;\n\n /**\n * Unsubscribe from chatThreadCreated.\n * @param event - The ChatThreadCreatedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatThreadCreated\", listener: (e: ChatThreadCreatedEvent) => void): void;\n\n /**\n * Unsubscribe from chatThreadDeleted.\n * @param event - The ChatThreadDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatThreadDeleted\", listener: (e: ChatThreadDeletedEvent) => void): void;\n\n /**\n * Unsubscribe from chatThreadPropertiesUpdated.\n * @param event - The ChatThreadPropertiesUpdatedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(\n event: \"chatThreadPropertiesUpdated\",\n listener: (e: ChatThreadPropertiesUpdatedEvent) => void\n ): void;\n\n /**\n * Unsubscribe from participantsAdded.\n * @param event - The ParticipantsAddedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"participantsAdded\", listener: (e: ParticipantsAddedEvent) => void): void;\n\n /**\n * Unsubscribe from participantsRemoved.\n * @param event - The ParticipantsRemovedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"participantsRemoved\", listener: (e: ParticipantsRemovedEvent) => void): void;\n\n public off(event: ChatEventId, listener: (e: any) => void): void {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are only supported in the browser.\");\n }\n\n this.emitter.removeListener(event, listener);\n }\n\n private subscribeToSignalingEvents(): void {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are only supported in the browser.\");\n }\n\n this.signalingClient.on(\"chatMessageReceived\", (payload) => {\n this.emitter.emit(\"chatMessageReceived\", payload);\n });\n\n this.signalingClient.on(\"chatMessageEdited\", (payload) => {\n this.emitter.emit(\"chatMessageEdited\", payload);\n });\n\n this.signalingClient.on(\"chatMessageDeleted\", (payload) => {\n this.emitter.emit(\"chatMessageDeleted\", payload);\n });\n\n this.signalingClient.on(\"typingIndicatorReceived\", (payload) => {\n this.emitter.emit(\"typingIndicatorReceived\", payload);\n });\n\n this.signalingClient.on(\"readReceiptReceived\", (payload) => {\n this.emitter.emit(\"readReceiptReceived\", payload);\n });\n\n this.signalingClient.on(\"chatThreadCreated\", (payload) => {\n this.emitter.emit(\"chatThreadCreated\", payload);\n });\n\n this.signalingClient.on(\"chatThreadDeleted\", (payload) => {\n this.emitter.emit(\"chatThreadDeleted\", payload);\n });\n\n this.signalingClient.on(\"chatThreadPropertiesUpdated\", (payload) => {\n this.emitter.emit(\"chatThreadPropertiesUpdated\", payload);\n });\n\n this.signalingClient.on(\"participantsAdded\", (payload) => {\n this.emitter.emit(\"participantsAdded\", payload);\n });\n\n this.signalingClient.on(\"participantsRemoved\", (payload) => {\n this.emitter.emit(\"participantsRemoved\", payload);\n });\n }\n}\n"]}
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
3
|
import { __asyncDelegator, __asyncGenerator, __asyncValues, __await, __rest } from "tslib";
|
|
4
4
|
import { logger } from "./models/logger";
|
|
5
|
-
import { SDK_VERSION } from "./constants";
|
|
6
5
|
import { serializeCommunicationIdentifier } from "@azure/communication-common";
|
|
7
|
-
import { createPipelineFromOptions, operationOptionsToRequestOptionsBase } from "@azure/core-http";
|
|
8
6
|
import { SpanStatusCode } from "@azure/core-tracing";
|
|
9
7
|
import { createSpan } from "./tracing";
|
|
10
8
|
import { mapToAddChatParticipantsRequestRestModel, mapToChatMessageSdkModel, mapToChatParticipantSdkModel, mapToChatThreadPropertiesSdkModel, mapToReadReceiptSdkModel } from "./models/mappers";
|
|
@@ -20,25 +18,14 @@ export class ChatThreadClient {
|
|
|
20
18
|
this.timeOfLastTypingRequest = undefined;
|
|
21
19
|
this.threadId = threadId;
|
|
22
20
|
this.tokenCredential = credential;
|
|
23
|
-
const
|
|
24
|
-
if (!options.userAgentOptions) {
|
|
25
|
-
options.userAgentOptions = {};
|
|
26
|
-
}
|
|
27
|
-
const userAgentOptions = Object.assign({}, options.userAgentOptions);
|
|
28
|
-
if (options.userAgentOptions.userAgentPrefix) {
|
|
29
|
-
userAgentOptions.userAgentPrefix = `${options.userAgentOptions.userAgentPrefix} ${libInfo}`;
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
userAgentOptions.userAgentPrefix = libInfo;
|
|
33
|
-
}
|
|
34
|
-
const internalPipelineOptions = Object.assign(Object.assign({}, Object.assign(Object.assign({}, options), { userAgentOptions })), {
|
|
21
|
+
const internalPipelineOptions = Object.assign(Object.assign({}, options), {
|
|
35
22
|
loggingOptions: {
|
|
36
23
|
logger: logger.info
|
|
37
24
|
}
|
|
38
25
|
});
|
|
26
|
+
this.client = new ChatApiClient(this.endpoint, Object.assign({ endpoint: this.endpoint }, internalPipelineOptions));
|
|
39
27
|
const authPolicy = createCommunicationTokenCredentialPolicy(this.tokenCredential);
|
|
40
|
-
|
|
41
|
-
this.client = new ChatApiClient(this.endpoint, pipeline);
|
|
28
|
+
this.client.pipeline.addPolicy(authPolicy);
|
|
42
29
|
}
|
|
43
30
|
/**
|
|
44
31
|
* Gets a chat thread.
|
|
@@ -48,7 +35,7 @@ export class ChatThreadClient {
|
|
|
48
35
|
async getProperties(options = {}) {
|
|
49
36
|
const { span, updatedOptions } = createSpan("ChatClient-GetProperties", options);
|
|
50
37
|
try {
|
|
51
|
-
const
|
|
38
|
+
const result = await this.client.chatThread.getChatThreadProperties(this.threadId, updatedOptions);
|
|
52
39
|
return mapToChatThreadPropertiesSdkModel(result);
|
|
53
40
|
}
|
|
54
41
|
catch (e) {
|
|
@@ -70,7 +57,7 @@ export class ChatThreadClient {
|
|
|
70
57
|
async updateTopic(topic, options = {}) {
|
|
71
58
|
const { span, updatedOptions } = createSpan("ChatThreadClient-UpdateTopic", options);
|
|
72
59
|
try {
|
|
73
|
-
await this.client.chatThread.updateChatThreadProperties(this.threadId, { topic: topic },
|
|
60
|
+
await this.client.chatThread.updateChatThreadProperties(this.threadId, { topic: topic }, updatedOptions);
|
|
74
61
|
}
|
|
75
62
|
catch (e) {
|
|
76
63
|
span.setStatus({
|
|
@@ -94,7 +81,7 @@ export class ChatThreadClient {
|
|
|
94
81
|
try {
|
|
95
82
|
// reset typing notification clock
|
|
96
83
|
this.timeOfLastTypingRequest = undefined;
|
|
97
|
-
const
|
|
84
|
+
const result = await this.client.chatThread.sendChatMessage(this.threadId, Object.assign(Object.assign({}, request), options), updatedOptions);
|
|
98
85
|
return result;
|
|
99
86
|
}
|
|
100
87
|
catch (e) {
|
|
@@ -117,7 +104,7 @@ export class ChatThreadClient {
|
|
|
117
104
|
async getMessage(messageId, options = {}) {
|
|
118
105
|
const { span, updatedOptions } = createSpan("ChatThreadClient-GetMessage", options);
|
|
119
106
|
try {
|
|
120
|
-
const
|
|
107
|
+
const result = await this.client.chatThread.getChatMessage(this.threadId, messageId, updatedOptions);
|
|
121
108
|
return mapToChatMessageSdkModel(result);
|
|
122
109
|
}
|
|
123
110
|
catch (e) {
|
|
@@ -133,16 +120,15 @@ export class ChatThreadClient {
|
|
|
133
120
|
}
|
|
134
121
|
listMessagesPage(pageSettings, options = {}) {
|
|
135
122
|
return __asyncGenerator(this, arguments, function* listMessagesPage_1() {
|
|
136
|
-
const requestOptions = operationOptionsToRequestOptionsBase(options);
|
|
137
123
|
if (!pageSettings.continuationToken) {
|
|
138
|
-
const currentSetResponse = yield __await(this.client.chatThread.listChatMessages(this.threadId,
|
|
124
|
+
const currentSetResponse = yield __await(this.client.chatThread.listChatMessages(this.threadId, options));
|
|
139
125
|
pageSettings.continuationToken = currentSetResponse.nextLink;
|
|
140
126
|
if (currentSetResponse.value) {
|
|
141
127
|
yield yield __await(currentSetResponse.value.map(mapToChatMessageSdkModel, this));
|
|
142
128
|
}
|
|
143
129
|
}
|
|
144
130
|
while (pageSettings.continuationToken) {
|
|
145
|
-
const currentSetResponse = yield __await(this.client.chatThread.listChatMessagesNext(this.threadId, pageSettings.continuationToken,
|
|
131
|
+
const currentSetResponse = yield __await(this.client.chatThread.listChatMessagesNext(this.threadId, pageSettings.continuationToken, options));
|
|
146
132
|
pageSettings.continuationToken = currentSetResponse.nextLink;
|
|
147
133
|
if (currentSetResponse.value) {
|
|
148
134
|
yield yield __await(currentSetResponse.value.map(mapToChatMessageSdkModel, this));
|
|
@@ -211,7 +197,7 @@ export class ChatThreadClient {
|
|
|
211
197
|
async deleteMessage(messageId, options = {}) {
|
|
212
198
|
const { span, updatedOptions } = createSpan("ChatThreadClient-DeleteMessage", options);
|
|
213
199
|
try {
|
|
214
|
-
await this.client.chatThread.deleteChatMessage(this.threadId, messageId,
|
|
200
|
+
await this.client.chatThread.deleteChatMessage(this.threadId, messageId, updatedOptions);
|
|
215
201
|
}
|
|
216
202
|
catch (e) {
|
|
217
203
|
span.setStatus({
|
|
@@ -232,7 +218,7 @@ export class ChatThreadClient {
|
|
|
232
218
|
async updateMessage(messageId, options = {}) {
|
|
233
219
|
const { span, updatedOptions } = createSpan("ChatThreadClient-UpdateMessage", options);
|
|
234
220
|
try {
|
|
235
|
-
await this.client.chatThread.updateChatMessage(this.threadId, messageId, options,
|
|
221
|
+
await this.client.chatThread.updateChatMessage(this.threadId, messageId, options, updatedOptions);
|
|
236
222
|
}
|
|
237
223
|
catch (e) {
|
|
238
224
|
span.setStatus({
|
|
@@ -253,7 +239,7 @@ export class ChatThreadClient {
|
|
|
253
239
|
async addParticipants(request, options = {}) {
|
|
254
240
|
const { span, updatedOptions } = createSpan("ChatThreadClient-AddParticipants", options);
|
|
255
241
|
try {
|
|
256
|
-
const
|
|
242
|
+
const result = await this.client.chatThread.addChatParticipants(this.threadId, mapToAddChatParticipantsRequestRestModel(request), updatedOptions);
|
|
257
243
|
return result;
|
|
258
244
|
}
|
|
259
245
|
catch (e) {
|
|
@@ -269,16 +255,15 @@ export class ChatThreadClient {
|
|
|
269
255
|
}
|
|
270
256
|
listParticipantsPage(continuationState, options = {}) {
|
|
271
257
|
return __asyncGenerator(this, arguments, function* listParticipantsPage_1() {
|
|
272
|
-
const requestOptions = operationOptionsToRequestOptionsBase(options);
|
|
273
258
|
if (!continuationState.continuationToken) {
|
|
274
|
-
const currentSetResponse = yield __await(this.client.chatThread.listChatParticipants(this.threadId,
|
|
259
|
+
const currentSetResponse = yield __await(this.client.chatThread.listChatParticipants(this.threadId, options));
|
|
275
260
|
continuationState.continuationToken = currentSetResponse.nextLink;
|
|
276
261
|
if (currentSetResponse.value) {
|
|
277
262
|
yield yield __await(currentSetResponse.value.map(mapToChatParticipantSdkModel, this));
|
|
278
263
|
}
|
|
279
264
|
}
|
|
280
265
|
while (continuationState.continuationToken) {
|
|
281
|
-
const currentSetResponse = yield __await(this.client.chatThread.listChatParticipantsNext(this.threadId, continuationState.continuationToken,
|
|
266
|
+
const currentSetResponse = yield __await(this.client.chatThread.listChatParticipantsNext(this.threadId, continuationState.continuationToken, options));
|
|
282
267
|
continuationState.continuationToken = currentSetResponse.nextLink;
|
|
283
268
|
if (currentSetResponse.value) {
|
|
284
269
|
yield yield __await(currentSetResponse.value.map(mapToChatParticipantSdkModel, this));
|
|
@@ -347,7 +332,7 @@ export class ChatThreadClient {
|
|
|
347
332
|
async removeParticipant(participant, options = {}) {
|
|
348
333
|
const { span, updatedOptions } = createSpan("ChatThreadClient-RemoveParticipant", options);
|
|
349
334
|
try {
|
|
350
|
-
await this.client.chatThread.removeChatParticipant(this.threadId, serializeCommunicationIdentifier(participant),
|
|
335
|
+
await this.client.chatThread.removeChatParticipant(this.threadId, serializeCommunicationIdentifier(participant), updatedOptions);
|
|
351
336
|
}
|
|
352
337
|
catch (e) {
|
|
353
338
|
span.setStatus({
|
|
@@ -370,7 +355,7 @@ export class ChatThreadClient {
|
|
|
370
355
|
const { span, updatedOptions } = createSpan("ChatThreadClient-SendTypingNotification", options);
|
|
371
356
|
try {
|
|
372
357
|
const dateNow = new Date();
|
|
373
|
-
const
|
|
358
|
+
const { senderDisplayName } = updatedOptions, restOptions = __rest(updatedOptions, ["senderDisplayName"]);
|
|
374
359
|
if (this.canPostTypingNotification(dateNow)) {
|
|
375
360
|
await this.client.chatThread.sendTypingNotification(this.threadId, Object.assign({ sendTypingNotificationRequest: { senderDisplayName: senderDisplayName } }, restOptions));
|
|
376
361
|
this.timeOfLastTypingRequest = dateNow;
|
|
@@ -399,7 +384,7 @@ export class ChatThreadClient {
|
|
|
399
384
|
async sendReadReceipt(request, options = {}) {
|
|
400
385
|
const { span, updatedOptions } = createSpan("ChatThreadClient-SendReadReceipt", options);
|
|
401
386
|
try {
|
|
402
|
-
await this.client.chatThread.sendChatReadReceipt(this.threadId, request,
|
|
387
|
+
await this.client.chatThread.sendChatReadReceipt(this.threadId, request, updatedOptions);
|
|
403
388
|
}
|
|
404
389
|
catch (e) {
|
|
405
390
|
span.setStatus({
|
|
@@ -414,16 +399,15 @@ export class ChatThreadClient {
|
|
|
414
399
|
}
|
|
415
400
|
listReadReceiptsPage(continuationState, options = {}) {
|
|
416
401
|
return __asyncGenerator(this, arguments, function* listReadReceiptsPage_1() {
|
|
417
|
-
const requestOptions = operationOptionsToRequestOptionsBase(options);
|
|
418
402
|
if (!continuationState.continuationToken) {
|
|
419
|
-
const currentSetResponse = yield __await(this.client.chatThread.listChatReadReceipts(this.threadId,
|
|
403
|
+
const currentSetResponse = yield __await(this.client.chatThread.listChatReadReceipts(this.threadId, options));
|
|
420
404
|
continuationState.continuationToken = currentSetResponse.nextLink;
|
|
421
405
|
if (currentSetResponse.value) {
|
|
422
406
|
yield yield __await(currentSetResponse.value.map(mapToReadReceiptSdkModel, this));
|
|
423
407
|
}
|
|
424
408
|
}
|
|
425
409
|
while (continuationState.continuationToken) {
|
|
426
|
-
const currentSetResponse = yield __await(this.client.chatThread.listChatReadReceiptsNext(this.threadId, continuationState.continuationToken,
|
|
410
|
+
const currentSetResponse = yield __await(this.client.chatThread.listChatReadReceiptsNext(this.threadId, continuationState.continuationToken, options));
|
|
427
411
|
continuationState.continuationToken = currentSetResponse.nextLink;
|
|
428
412
|
if (currentSetResponse.value) {
|
|
429
413
|
yield yield __await(currentSetResponse.value.map(mapToReadReceiptSdkModel, this));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatThreadClient.js","sourceRoot":"","sources":["../../src/chatThreadClient.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAGL,gCAAgC,EACjC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,yBAAyB,EACzB,oCAAoC,EACrC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAgBvC,OAAO,EACL,wCAAwC,EACxC,wBAAwB,EACxB,4BAA4B,EAC5B,iCAAiC,EACjC,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAiB1B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,wCAAwC,EAAE,MAAM,iDAAiD,CAAC;AAC3G,MAAM,mCAAmC,GAAW,IAAI,CAAC;AAEzD;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAW3B,YACmB,QAAgB,EACjC,QAAgB,EAChB,UAAwC,EACxC,UAAmC,EAAE;QAHpB,aAAQ,GAAR,QAAQ,CAAQ;QAH3B,4BAAuB,GAAqB,SAAS,CAAC;QAQ5D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QAElC,MAAM,OAAO,GAAG,+BAA+B,WAAW,EAAE,CAAC;QAE7D,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;YAC7B,OAAO,CAAC,gBAAgB,GAAG,EAAE,CAAC;SAC/B;QAED,MAAM,gBAAgB,qBAAQ,OAAO,CAAC,gBAAgB,CAAE,CAAC;QACzD,IAAI,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE;YAC5C,gBAAgB,CAAC,eAAe,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,IAAI,OAAO,EAAE,CAAC;SAC7F;aAAM;YACL,gBAAgB,CAAC,eAAe,GAAG,OAAO,CAAC;SAC5C;QAED,MAAM,uBAAuB,mEACnB,OAAO,KAAE,gBAAgB,MAC9B;YACD,cAAc,EAAE;gBACd,MAAM,EAAE,MAAM,CAAC,IAAI;aACpB;SACF,CACF,CAAC;QAEF,MAAM,UAAU,GAAG,wCAAwC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,yBAAyB,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC;QAEhF,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,UAAgC,EAAE;QAC3D,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;QAEjF,IAAI;YACF,MAAM,KAA2B,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,uBAAuB,CACnF,IAAI,CAAC,QAAQ,EACb,oCAAoC,CAAC,cAAc,CAAC,CACrD,EAHK,EAAE,SAAS,OAGhB,EAHqB,MAAM,cAAtB,aAAwB,CAG7B,CAAC;YACF,OAAO,iCAAiC,CAAC,MAAM,CAAC,CAAC;SAClD;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,UAA8B,EAAE;QACtE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;QAErF,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,0BAA0B,CACrD,IAAI,CAAC,QAAQ,EACb,EAAE,KAAK,EAAE,KAAK,EAAE,EAChB,oCAAoC,CAAC,cAAc,CAAC,CACrD,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,WAAW,CACtB,OAA2B,EAC3B,UAA8B,EAAE;QAEhC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;QAErF,IAAI;YACF,kCAAkC;YAClC,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;YAEzC,MAAM,KAA2B,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAC3E,IAAI,CAAC,QAAQ,kCACR,OAAO,GAAK,OAAO,GACxB,oCAAoC,CAAC,cAAc,CAAC,CACrD,EAJK,EAAE,SAAS,OAIhB,EAJqB,MAAM,cAAtB,aAAwB,CAI7B,CAAC;YACF,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,UAAU,CACrB,SAAiB,EACjB,UAA6B,EAAE;QAE/B,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;QAEpF,IAAI;YACF,MAAM,KAA2B,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAC1E,IAAI,CAAC,QAAQ,EACb,SAAS,EACT,oCAAoC,CAAC,cAAc,CAAC,CACrD,EAJK,EAAE,SAAS,OAIhB,EAJqB,MAAM,cAAtB,aAAwB,CAI7B,CAAC;YACF,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;SACzC;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAEc,gBAAgB,CAC7B,YAA8B,EAC9B,UAA+B,EAAE;;YAEjC,MAAM,cAAc,GAAG,oCAAoC,CAAC,OAAO,CAAC,CAAC;YACrE,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE;gBACnC,MAAM,kBAAkB,GAAG,cAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CACtE,IAAI,CAAC,QAAQ,EACb,cAAc,CACf,CAAA,CAAC;gBACF,YAAY,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAC7D,IAAI,kBAAkB,CAAC,KAAK,EAAE;oBAC5B,oBAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAA,CAAC;iBACpE;aACF;YAED,OAAO,YAAY,CAAC,iBAAiB,EAAE;gBACrC,MAAM,kBAAkB,GAAG,cAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAC1E,IAAI,CAAC,QAAQ,EACb,YAAY,CAAC,iBAAiB,EAC9B,cAAc,CACf,CAAA,CAAC;gBACF,YAAY,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAC7D,IAAI,kBAAkB,CAAC,KAAK,EAAE;oBAC5B,oBAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAA,CAAC;iBACpE;qBAAM;oBACL,MAAM;iBACP;aACF;QACH,CAAC;KAAA;IAEc,eAAe,CAAC,OAA4B;;;;gBACzD,KAAyB,IAAA,KAAA,cAAA,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA,IAAA;oBAAhD,MAAM,IAAI,WAAA,CAAA;oBACnB,cAAA,KAAK,CAAC,CAAC,iBAAA,cAAA,IAAI,CAAA,CAAA,CAAA,CAAC;iBACb;;;;;;;;;QACH,CAAC;KAAA;IAED;;;;OAIG;IACI,YAAY,CAAC,UAA+B,EAAE;QACnD,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;QAEtF,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;YAClD,OAAO;gBACL,IAAI;oBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrB,CAAC;gBACD,CAAC,MAAM,CAAC,aAAa,CAAC;oBACpB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,EAAE,CAAC,WAA6B,EAAE,EAAE,EAAE;oBAC1C,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBACzD,CAAC;aACF,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,UAAgC,EAAE;QAC9E,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAC;QAEvF,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAC5C,IAAI,CAAC,QAAQ,EACb,SAAS,EACT,oCAAoC,CAAC,cAAc,CAAC,CACrD,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,UAAgC,EAAE;QAC9E,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAC;QAEvF,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAC5C,IAAI,CAAC,QAAQ,EACb,SAAS,EACT,OAAO,EACP,oCAAoC,CAAC,cAAc,CAAC,CACrD,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAC1B,OAA+B,EAC/B,UAAkC,EAAE;QAEpC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAC;QAEzF,IAAI;YACF,MAAM,KAA2B,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAC/E,IAAI,CAAC,QAAQ,EACb,wCAAwC,CAAC,OAAO,CAAC,EACjD,oCAAoC,CAAC,cAAc,CAAC,CACrD,EAJK,EAAE,SAAS,OAIhB,EAJqB,MAAM,cAAtB,aAAwB,CAI7B,CAAC;YACF,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAEc,oBAAoB,CACjC,iBAAmC,EACnC,UAAmC,EAAE;;YAErC,MAAM,cAAc,GAAG,oCAAoC,CAAC,OAAO,CAAC,CAAC;YACrE,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE;gBACxC,MAAM,kBAAkB,GAAG,cAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAC1E,IAAI,CAAC,QAAQ,EACb,cAAc,CACf,CAAA,CAAC;gBACF,iBAAiB,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAClE,IAAI,kBAAkB,CAAC,KAAK,EAAE;oBAC5B,oBAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAA,CAAC;iBACxE;aACF;YAED,OAAO,iBAAiB,CAAC,iBAAiB,EAAE;gBAC1C,MAAM,kBAAkB,GAAG,cAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,wBAAwB,CAC9E,IAAI,CAAC,QAAQ,EACb,iBAAiB,CAAC,iBAAiB,EACnC,cAAc,CACf,CAAA,CAAC;gBACF,iBAAiB,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAClE,IAAI,kBAAkB,CAAC,KAAK,EAAE;oBAC5B,oBAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAA,CAAC;iBACxE;qBAAM;oBACL,MAAM;iBACP;aACF;QACH,CAAC;KAAA;IAEc,mBAAmB,CAChC,OAAgC;;;;gBAEhC,KAAyB,IAAA,KAAA,cAAA,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA,IAAA;oBAApD,MAAM,IAAI,WAAA,CAAA;oBACnB,cAAA,KAAK,CAAC,CAAC,iBAAA,cAAA,IAAI,CAAA,CAAA,CAAA,CAAC;iBACb;;;;;;;;;QACH,CAAC;KAAA;IAED;;;;OAIG;IACI,gBAAgB,CACrB,UAAmC,EAAE;QAErC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;QAE1F,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;YACtD,OAAO;gBACL,IAAI;oBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrB,CAAC;gBACD,CAAC,MAAM,CAAC,aAAa,CAAC;oBACpB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,EAAE,CAAC,WAA6B,EAAE,EAAE,EAAE;oBAC1C,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC7D,CAAC;aACF,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,iBAAiB,CAC5B,WAAoC,EACpC,UAAoC,EAAE;QAEtC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAAC;QAE3F,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAChD,IAAI,CAAC,QAAQ,EACb,gCAAgC,CAAC,WAAW,CAAC,EAC7C,oCAAoC,CAAC,cAAc,CAAC,CACrD,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,sBAAsB,CACjC,UAAyC,EAAE;QAE3C,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,yCAAyC,EAAE,OAAO,CAAC,CAAC;QAEhG,IAAI;YACF,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,KAAwC,oCAAoC,CAChF,cAAc,CACf,EAFK,EAAE,iBAAiB,OAExB,EAF6B,WAAW,cAAnC,qBAAqC,CAE1C,CAAC;YACF,IAAI,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE;gBAC3C,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,kBAC/D,6BAA6B,EAAE,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,IACpE,WAAW,EACd,CAAC;gBAEH,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC;gBACvC,OAAO,IAAI,CAAC;aACb;YAED,MAAM,CAAC,IAAI,CAAC,4CAA4C,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;YAC1E,OAAO,KAAK,CAAC;SACd;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,eAAe,CAC1B,OAA+B,EAC/B,UAAkC,EAAE;QAEpC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAC;QAEzF,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAC9C,IAAI,CAAC,QAAQ,EACb,OAAO,EACP,oCAAoC,CAAC,cAAc,CAAC,CACrD,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAEc,oBAAoB,CACjC,iBAAmC,EACnC,UAAmC,EAAE;;YAErC,MAAM,cAAc,GAAG,oCAAoC,CAAC,OAAO,CAAC,CAAC;YACrE,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE;gBACxC,MAAM,kBAAkB,GAAG,cAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAC1E,IAAI,CAAC,QAAQ,EACb,cAAc,CACf,CAAA,CAAC;gBACF,iBAAiB,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAClE,IAAI,kBAAkB,CAAC,KAAK,EAAE;oBAC5B,oBAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAA,CAAC;iBACpE;aACF;YAED,OAAO,iBAAiB,CAAC,iBAAiB,EAAE;gBAC1C,MAAM,kBAAkB,GAAG,cAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,wBAAwB,CAC9E,IAAI,CAAC,QAAQ,EACb,iBAAiB,CAAC,iBAAiB,EACnC,cAAc,CACf,CAAA,CAAC;gBACF,iBAAiB,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAClE,IAAI,kBAAkB,CAAC,KAAK,EAAE;oBAC5B,oBAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAA,CAAC;iBACpE;qBAAM;oBACL,MAAM;iBACP;aACF;QACH,CAAC;KAAA;IAEc,mBAAmB,CAChC,OAAgC;;;;gBAEhC,KAAyB,IAAA,KAAA,cAAA,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA,IAAA;oBAApD,MAAM,IAAI,WAAA,CAAA;oBACnB,cAAA,KAAK,CAAC,CAAC,iBAAA,cAAA,IAAI,CAAA,CAAA,CAAA,CAAC;iBACb;;;;;;;;;QACH,CAAC;KAAA;IAED;;;;OAIG;IACI,gBAAgB,CACrB,UAAmC,EAAE;QAErC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,uCAAuC,EAAE,OAAO,CAAC,CAAC;QAE9F,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;YACtD,OAAO;gBACL,IAAI;oBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrB,CAAC;gBACD,CAAC,MAAM,CAAC,aAAa,CAAC;oBACpB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,EAAE,CAAC,WAA6B,EAAE,EAAE,EAAE;oBAC1C,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC7D,CAAC;aACF,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAEO,yBAAyB,CAAC,OAAa;QAC7C,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,MAAM,kCAAkC,GACtC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC;YAE7D,IAAI,kCAAkC,GAAG,mCAAmC,EAAE;gBAC5E,MAAM,CAAC,IAAI,CAAC,+CAA+C,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;gBAC5F,OAAO,KAAK,CAAC;aACd;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { logger } from \"./models/logger\";\nimport { SDK_VERSION } from \"./constants\";\nimport {\n CommunicationIdentifier,\n CommunicationTokenCredential,\n serializeCommunicationIdentifier\n} from \"@azure/communication-common\";\nimport {\n InternalPipelineOptions,\n createPipelineFromOptions,\n operationOptionsToRequestOptionsBase\n} from \"@azure/core-http\";\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { SpanStatusCode } from \"@azure/core-tracing\";\nimport { createSpan } from \"./tracing\";\nimport {\n SendReadReceiptRequest,\n AddParticipantsRequest,\n SendMessageRequest\n} from \"./models/requests\";\n\nimport {\n AddChatParticipantsResult,\n ChatMessage,\n ChatMessageReadReceipt,\n ChatParticipant,\n ChatThreadProperties,\n SendChatMessageResult,\n ListPageSettings\n} from \"./models/models\";\nimport {\n mapToAddChatParticipantsRequestRestModel,\n mapToChatMessageSdkModel,\n mapToChatParticipantSdkModel,\n mapToChatThreadPropertiesSdkModel,\n mapToReadReceiptSdkModel\n} from \"./models/mappers\";\nimport {\n ChatThreadClientOptions,\n SendMessageOptions,\n GetMessageOptions,\n DeleteMessageOptions,\n ListMessagesOptions,\n UpdateMessageOptions,\n UpdateTopicOptions,\n AddParticipantsOptions,\n ListParticipantsOptions,\n RemoveParticipantOptions,\n SendTypingNotificationOptions,\n SendReadReceiptOptions,\n ListReadReceiptsOptions,\n GetPropertiesOptions\n} from \"./models/options\";\nimport { ChatApiClient } from \"./generated/src\";\nimport { createCommunicationTokenCredentialPolicy } from \"./credential/communicationTokenCredentialPolicy\";\nconst minimumTypingIntervalInMilliSeconds: number = 8000;\n\n/**\n * The client to do chat operations\n */\nexport class ChatThreadClient {\n /**\n * Thread ID of the ChatThreadClient\n */\n readonly threadId: string;\n\n private readonly tokenCredential: CommunicationTokenCredential;\n private readonly client: ChatApiClient;\n\n private timeOfLastTypingRequest: Date | undefined = undefined;\n\n constructor(\n private readonly endpoint: string,\n threadId: string,\n credential: CommunicationTokenCredential,\n options: ChatThreadClientOptions = {}\n ) {\n this.threadId = threadId;\n this.tokenCredential = credential;\n\n const libInfo = `azsdk-js-communication-chat/${SDK_VERSION}`;\n\n if (!options.userAgentOptions) {\n options.userAgentOptions = {};\n }\n\n const userAgentOptions = { ...options.userAgentOptions };\n if (options.userAgentOptions.userAgentPrefix) {\n userAgentOptions.userAgentPrefix = `${options.userAgentOptions.userAgentPrefix} ${libInfo}`;\n } else {\n userAgentOptions.userAgentPrefix = libInfo;\n }\n\n const internalPipelineOptions: InternalPipelineOptions = {\n ...{ ...options, userAgentOptions },\n ...{\n loggingOptions: {\n logger: logger.info\n }\n }\n };\n\n const authPolicy = createCommunicationTokenCredentialPolicy(this.tokenCredential);\n const pipeline = createPipelineFromOptions(internalPipelineOptions, authPolicy);\n\n this.client = new ChatApiClient(this.endpoint, pipeline);\n }\n\n /**\n * Gets a chat thread.\n * Returns the chat thread.\n * @param options - Operation options.\n */\n public async getProperties(options: GetPropertiesOptions = {}): Promise<ChatThreadProperties> {\n const { span, updatedOptions } = createSpan(\"ChatClient-GetProperties\", options);\n\n try {\n const { _response, ...result } = await this.client.chatThread.getChatThreadProperties(\n this.threadId,\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n return mapToChatThreadPropertiesSdkModel(result);\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Updates a thread's topic.\n * @param topic - The topic needs to be updated to.\n * @param options - Operation options.\n */\n public async updateTopic(topic: string, options: UpdateTopicOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-UpdateTopic\", options);\n\n try {\n await this.client.chatThread.updateChatThreadProperties(\n this.threadId,\n { topic: topic },\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Sends a chat message to a thread identified by threadId.\n * Returns the id of the created message.\n * @param request - Request for sending a message.\n * @param options - Operation options.\n */\n public async sendMessage(\n request: SendMessageRequest,\n options: SendMessageOptions = {}\n ): Promise<SendChatMessageResult> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-SendMessage\", options);\n\n try {\n // reset typing notification clock\n this.timeOfLastTypingRequest = undefined;\n\n const { _response, ...result } = await this.client.chatThread.sendChatMessage(\n this.threadId,\n { ...request, ...options },\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n return result;\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Gets a chat message identified by messageId.\n * Returns the specific message.\n * @param messageId - The message id of the message.\n * @param options - Operation options.\n */\n public async getMessage(\n messageId: string,\n options: GetMessageOptions = {}\n ): Promise<ChatMessage> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-GetMessage\", options);\n\n try {\n const { _response, ...result } = await this.client.chatThread.getChatMessage(\n this.threadId,\n messageId,\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n return mapToChatMessageSdkModel(result);\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listMessagesPage(\n pageSettings: ListPageSettings,\n options: ListMessagesOptions = {}\n ): AsyncIterableIterator<ChatMessage[]> {\n const requestOptions = operationOptionsToRequestOptionsBase(options);\n if (!pageSettings.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatMessages(\n this.threadId,\n requestOptions\n );\n pageSettings.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatMessageSdkModel, this);\n }\n }\n\n while (pageSettings.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatMessagesNext(\n this.threadId,\n pageSettings.continuationToken,\n requestOptions\n );\n pageSettings.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatMessageSdkModel, this);\n } else {\n break;\n }\n }\n }\n\n private async *listMessagesAll(options: ListMessagesOptions): AsyncIterableIterator<ChatMessage> {\n for await (const page of this.listMessagesPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets a list of message from a thread identified by threadId.\n * Returns the list of the messages.\n * @param options - Get messages options.\n */\n public listMessages(options: ListMessagesOptions = {}): PagedAsyncIterableIterator<ChatMessage> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-ListMessages\", options);\n\n try {\n const iter = this.listMessagesAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listMessagesPage(settings, updatedOptions);\n }\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes a message identified by threadId and messageId\n * @param messageId - The message id of the message.\n * @param options - Operation options.\n */\n public async deleteMessage(messageId: string, options: DeleteMessageOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-DeleteMessage\", options);\n\n try {\n await this.client.chatThread.deleteChatMessage(\n this.threadId,\n messageId,\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Updates a message identified by threadId and messageId\n * @param messageId - The message id of the message.\n * @param options - Operation options.\n */\n public async updateMessage(messageId: string, options: UpdateMessageOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-UpdateMessage\", options);\n\n try {\n await this.client.chatThread.updateChatMessage(\n this.threadId,\n messageId,\n options,\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Adds the details of chat participants belonging to the thread identified by threadId.\n * @param request - Thread participants' details to add in the thread roster\n * @param options - Operation options.\n */\n public async addParticipants(\n request: AddParticipantsRequest,\n options: AddParticipantsOptions = {}\n ): Promise<AddChatParticipantsResult> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-AddParticipants\", options);\n\n try {\n const { _response, ...result } = await this.client.chatThread.addChatParticipants(\n this.threadId,\n mapToAddChatParticipantsRequestRestModel(request),\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n return result;\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listParticipantsPage(\n continuationState: ListPageSettings,\n options: ListParticipantsOptions = {}\n ): AsyncIterableIterator<ChatParticipant[]> {\n const requestOptions = operationOptionsToRequestOptionsBase(options);\n if (!continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatParticipants(\n this.threadId,\n requestOptions\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatParticipantSdkModel, this);\n }\n }\n\n while (continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatParticipantsNext(\n this.threadId,\n continuationState.continuationToken,\n requestOptions\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatParticipantSdkModel, this);\n } else {\n break;\n }\n }\n }\n\n private async *listParticipantsAll(\n options: ListParticipantsOptions\n ): AsyncIterableIterator<ChatParticipant> {\n for await (const page of this.listParticipantsPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets the participants of the thread identified by threadId.\n * Returns the lists of the participants.\n * @param options - Operation options.\n */\n public listParticipants(\n options: ListParticipantsOptions = {}\n ): PagedAsyncIterableIterator<ChatParticipant> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-ListParticipants\", options);\n\n try {\n const iter = this.listParticipantsAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listParticipantsPage(settings, updatedOptions);\n }\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Removes participant from the thread identified by threadId.\n * @param participant - Thread participant to remove from the thread roster\n * @param options - Operation options.\n */\n public async removeParticipant(\n participant: CommunicationIdentifier,\n options: RemoveParticipantOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-RemoveParticipant\", options);\n\n try {\n await this.client.chatThread.removeChatParticipant(\n this.threadId,\n serializeCommunicationIdentifier(participant),\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Sends a typing notification to the thread.\n * Doesn't attempt to send if the time since last notification is smaller than the minimum typing interval\n * @param options - - Operation options\n * @returns True if the typing message notification could be sent, otherwise false.\n */\n public async sendTypingNotification(\n options: SendTypingNotificationOptions = {}\n ): Promise<boolean> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-SendTypingNotification\", options);\n\n try {\n const dateNow = new Date();\n const { senderDisplayName, ...restOptions } = operationOptionsToRequestOptionsBase(\n updatedOptions\n );\n if (this.canPostTypingNotification(dateNow)) {\n await this.client.chatThread.sendTypingNotification(this.threadId, {\n sendTypingNotificationRequest: { senderDisplayName: senderDisplayName },\n ...restOptions\n });\n\n this.timeOfLastTypingRequest = dateNow;\n return true;\n }\n\n logger.info(`Typing Notification NOT Send. [thread_id=${this.threadId}]`);\n return false;\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Sends a read receipt to the thread identified by threadId.\n * @param messageId - The message id of the message that user latest read.\n * @param request - Request for sending a read receipt\n * @param options - Operation options.\n */\n public async sendReadReceipt(\n request: SendReadReceiptRequest,\n options: SendReadReceiptOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-SendReadReceipt\", options);\n\n try {\n await this.client.chatThread.sendChatReadReceipt(\n this.threadId,\n request,\n operationOptionsToRequestOptionsBase(updatedOptions)\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listReadReceiptsPage(\n continuationState: ListPageSettings,\n options: ListReadReceiptsOptions = {}\n ): AsyncIterableIterator<ChatMessageReadReceipt[]> {\n const requestOptions = operationOptionsToRequestOptionsBase(options);\n if (!continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatReadReceipts(\n this.threadId,\n requestOptions\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToReadReceiptSdkModel, this);\n }\n }\n\n while (continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatReadReceiptsNext(\n this.threadId,\n continuationState.continuationToken,\n requestOptions\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToReadReceiptSdkModel, this);\n } else {\n break;\n }\n }\n }\n\n private async *listReadReceiptsAll(\n options: ListReadReceiptsOptions\n ): AsyncIterableIterator<ChatMessageReadReceipt> {\n for await (const page of this.listReadReceiptsPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets a list of read receipt from a thread identified by threadId.\n * Returns the list of the messages.\n * @param options - Get messages options.\n */\n public listReadReceipts(\n options: ListReadReceiptsOptions = {}\n ): PagedAsyncIterableIterator<ChatMessageReadReceipt> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-ListChatReadReceipts\", options);\n\n try {\n const iter = this.listReadReceiptsAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listReadReceiptsPage(settings, updatedOptions);\n }\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private canPostTypingNotification(dateNow: Date): boolean {\n if (this.timeOfLastTypingRequest) {\n const timeSinceLastRequestInMilliSeconds =\n dateNow.getTime() - this.timeOfLastTypingRequest.getTime();\n\n if (timeSinceLastRequestInMilliSeconds < minimumTypingIntervalInMilliSeconds) {\n logger.info(`Typing interval check failed. [last_request=${this.timeOfLastTypingRequest}]`);\n return false;\n }\n }\n\n return true;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"chatThreadClient.js","sourceRoot":"","sources":["../../src/chatThreadClient.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAGL,gCAAgC,EACjC,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAgBvC,OAAO,EACL,wCAAwC,EACxC,wBAAwB,EACxB,4BAA4B,EAC5B,iCAAiC,EACjC,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAiB1B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,wCAAwC,EAAE,MAAM,iDAAiD,CAAC;AAE3G,MAAM,mCAAmC,GAAW,IAAI,CAAC;AAEzD;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAW3B,YACmB,QAAgB,EACjC,QAAgB,EAChB,UAAwC,EACxC,UAAmC,EAAE;QAHpB,aAAQ,GAAR,QAAQ,CAAQ;QAH3B,4BAAuB,GAAqB,SAAS,CAAC;QAQ5D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QAElC,MAAM,uBAAuB,mCACxB,OAAO,GACP;YACD,cAAc,EAAE;gBACd,MAAM,EAAE,MAAM,CAAC,IAAI;aACpB;SACF,CACF,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,kBAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ,IACpB,uBAAuB,EAC1B,CAAC;QAEH,MAAM,UAAU,GAAG,wCAAwC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,UAAgC,EAAE;QAC3D,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;QAEjF,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,uBAAuB,CACjE,IAAI,CAAC,QAAQ,EACb,cAAc,CACf,CAAC;YACF,OAAO,iCAAiC,CAAC,MAAM,CAAC,CAAC;SAClD;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,UAA8B,EAAE;QACtE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;QAErF,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,0BAA0B,CACrD,IAAI,CAAC,QAAQ,EACb,EAAE,KAAK,EAAE,KAAK,EAAE,EAChB,cAAc,CACf,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,WAAW,CACtB,OAA2B,EAC3B,UAA8B,EAAE;QAEhC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;QAErF,IAAI;YACF,kCAAkC;YAClC,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;YAEzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CACzD,IAAI,CAAC,QAAQ,kCACR,OAAO,GAAK,OAAO,GACxB,cAAc,CACf,CAAC;YACF,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,UAAU,CACrB,SAAiB,EACjB,UAA6B,EAAE;QAE/B,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;QAEpF,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CACxD,IAAI,CAAC,QAAQ,EACb,SAAS,EACT,cAAc,CACf,CAAC;YACF,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;SACzC;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAEc,gBAAgB,CAC7B,YAA8B,EAC9B,UAA+B,EAAE;;YAEjC,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE;gBACnC,MAAM,kBAAkB,GAAG,cAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CACtE,IAAI,CAAC,QAAQ,EACb,OAAO,CACR,CAAA,CAAC;gBACF,YAAY,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAC7D,IAAI,kBAAkB,CAAC,KAAK,EAAE;oBAC5B,oBAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAA,CAAC;iBACpE;aACF;YAED,OAAO,YAAY,CAAC,iBAAiB,EAAE;gBACrC,MAAM,kBAAkB,GAAG,cAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAC1E,IAAI,CAAC,QAAQ,EACb,YAAY,CAAC,iBAAiB,EAC9B,OAAO,CACR,CAAA,CAAC;gBACF,YAAY,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAC7D,IAAI,kBAAkB,CAAC,KAAK,EAAE;oBAC5B,oBAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAA,CAAC;iBACpE;qBAAM;oBACL,MAAM;iBACP;aACF;QACH,CAAC;KAAA;IAEc,eAAe,CAAC,OAA4B;;;;gBACzD,KAAyB,IAAA,KAAA,cAAA,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA,IAAA;oBAAhD,MAAM,IAAI,WAAA,CAAA;oBACnB,cAAA,KAAK,CAAC,CAAC,iBAAA,cAAA,IAAI,CAAA,CAAA,CAAA,CAAC;iBACb;;;;;;;;;QACH,CAAC;KAAA;IAED;;;;OAIG;IACI,YAAY,CAAC,UAA+B,EAAE;QACnD,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;QAEtF,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;YAClD,OAAO;gBACL,IAAI;oBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrB,CAAC;gBACD,CAAC,MAAM,CAAC,aAAa,CAAC;oBACpB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,EAAE,CAAC,WAA6B,EAAE,EAAE,EAAE;oBAC1C,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBACzD,CAAC;aACF,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,UAAgC,EAAE;QAC9E,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAC;QAEvF,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;SAC1F;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,UAAgC,EAAE;QAC9E,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAC;QAEvF,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAC5C,IAAI,CAAC,QAAQ,EACb,SAAS,EACT,OAAO,EACP,cAAc,CACf,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAC1B,OAA+B,EAC/B,UAAkC,EAAE;QAEpC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAC;QAEzF,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAC7D,IAAI,CAAC,QAAQ,EACb,wCAAwC,CAAC,OAAO,CAAC,EACjD,cAAc,CACf,CAAC;YACF,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAEc,oBAAoB,CACjC,iBAAmC,EACnC,UAAmC,EAAE;;YAErC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE;gBACxC,MAAM,kBAAkB,GAAG,cAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAC1E,IAAI,CAAC,QAAQ,EACb,OAAO,CACR,CAAA,CAAC;gBACF,iBAAiB,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAClE,IAAI,kBAAkB,CAAC,KAAK,EAAE;oBAC5B,oBAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAA,CAAC;iBACxE;aACF;YAED,OAAO,iBAAiB,CAAC,iBAAiB,EAAE;gBAC1C,MAAM,kBAAkB,GAAG,cAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,wBAAwB,CAC9E,IAAI,CAAC,QAAQ,EACb,iBAAiB,CAAC,iBAAiB,EACnC,OAAO,CACR,CAAA,CAAC;gBACF,iBAAiB,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAClE,IAAI,kBAAkB,CAAC,KAAK,EAAE;oBAC5B,oBAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAA,CAAC;iBACxE;qBAAM;oBACL,MAAM;iBACP;aACF;QACH,CAAC;KAAA;IAEc,mBAAmB,CAChC,OAAgC;;;;gBAEhC,KAAyB,IAAA,KAAA,cAAA,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA,IAAA;oBAApD,MAAM,IAAI,WAAA,CAAA;oBACnB,cAAA,KAAK,CAAC,CAAC,iBAAA,cAAA,IAAI,CAAA,CAAA,CAAA,CAAC;iBACb;;;;;;;;;QACH,CAAC;KAAA;IAED;;;;OAIG;IACI,gBAAgB,CACrB,UAAmC,EAAE;QAErC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;QAE1F,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;YACtD,OAAO;gBACL,IAAI;oBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrB,CAAC;gBACD,CAAC,MAAM,CAAC,aAAa,CAAC;oBACpB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,EAAE,CAAC,WAA6B,EAAE,EAAE,EAAE;oBAC1C,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC7D,CAAC;aACF,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,iBAAiB,CAC5B,WAAoC,EACpC,UAAoC,EAAE;QAEtC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAAC;QAE3F,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAChD,IAAI,CAAC,QAAQ,EACb,gCAAgC,CAAC,WAAW,CAAC,EAC7C,cAAc,CACf,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,sBAAsB,CACjC,UAAyC,EAAE;QAE3C,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,yCAAyC,EAAE,OAAO,CAAC,CAAC;QAEhG,IAAI;YACF,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,EAAE,iBAAiB,KAAqB,cAAc,EAA9B,WAAW,UAAK,cAAc,EAAtD,qBAAqC,CAAiB,CAAC;YAC7D,IAAI,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE;gBAC3C,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,kBAC/D,6BAA6B,EAAE,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,IACpE,WAAW,EACd,CAAC;gBAEH,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC;gBACvC,OAAO,IAAI,CAAC;aACb;YAED,MAAM,CAAC,IAAI,CAAC,4CAA4C,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;YAC1E,OAAO,KAAK,CAAC;SACd;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,eAAe,CAC1B,OAA+B,EAC/B,UAAkC,EAAE;QAEpC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAC;QAEzF,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;SAC1F;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAEc,oBAAoB,CACjC,iBAAmC,EACnC,UAAmC,EAAE;;YAErC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE;gBACxC,MAAM,kBAAkB,GAAG,cAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAC1E,IAAI,CAAC,QAAQ,EACb,OAAO,CACR,CAAA,CAAC;gBACF,iBAAiB,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAClE,IAAI,kBAAkB,CAAC,KAAK,EAAE;oBAC5B,oBAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAA,CAAC;iBACpE;aACF;YAED,OAAO,iBAAiB,CAAC,iBAAiB,EAAE;gBAC1C,MAAM,kBAAkB,GAAG,cAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,wBAAwB,CAC9E,IAAI,CAAC,QAAQ,EACb,iBAAiB,CAAC,iBAAiB,EACnC,OAAO,CACR,CAAA,CAAC;gBACF,iBAAiB,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAClE,IAAI,kBAAkB,CAAC,KAAK,EAAE;oBAC5B,oBAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAA,CAAC;iBACpE;qBAAM;oBACL,MAAM;iBACP;aACF;QACH,CAAC;KAAA;IAEc,mBAAmB,CAChC,OAAgC;;;;gBAEhC,KAAyB,IAAA,KAAA,cAAA,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA,IAAA;oBAApD,MAAM,IAAI,WAAA,CAAA;oBACnB,cAAA,KAAK,CAAC,CAAC,iBAAA,cAAA,IAAI,CAAA,CAAA,CAAA,CAAC;iBACb;;;;;;;;;QACH,CAAC;KAAA;IAED;;;;OAIG;IACI,gBAAgB,CACrB,UAAmC,EAAE;QAErC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,uCAAuC,EAAE,OAAO,CAAC,CAAC;QAE9F,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;YACtD,OAAO;gBACL,IAAI;oBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrB,CAAC;gBACD,CAAC,MAAM,CAAC,aAAa,CAAC;oBACpB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,EAAE,CAAC,WAA6B,EAAE,EAAE,EAAE;oBAC1C,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC7D,CAAC;aACF,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;IACH,CAAC;IAEO,yBAAyB,CAAC,OAAa;QAC7C,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,MAAM,kCAAkC,GACtC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC;YAE7D,IAAI,kCAAkC,GAAG,mCAAmC,EAAE;gBAC5E,MAAM,CAAC,IAAI,CAAC,+CAA+C,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;gBAC5F,OAAO,KAAK,CAAC;aACd;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { logger } from \"./models/logger\";\nimport {\n CommunicationIdentifier,\n CommunicationTokenCredential,\n serializeCommunicationIdentifier\n} from \"@azure/communication-common\";\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { SpanStatusCode } from \"@azure/core-tracing\";\nimport { createSpan } from \"./tracing\";\nimport {\n SendReadReceiptRequest,\n AddParticipantsRequest,\n SendMessageRequest\n} from \"./models/requests\";\n\nimport {\n AddChatParticipantsResult,\n ChatMessage,\n ChatMessageReadReceipt,\n ChatParticipant,\n ChatThreadProperties,\n SendChatMessageResult,\n ListPageSettings\n} from \"./models/models\";\nimport {\n mapToAddChatParticipantsRequestRestModel,\n mapToChatMessageSdkModel,\n mapToChatParticipantSdkModel,\n mapToChatThreadPropertiesSdkModel,\n mapToReadReceiptSdkModel\n} from \"./models/mappers\";\nimport {\n ChatThreadClientOptions,\n SendMessageOptions,\n GetMessageOptions,\n DeleteMessageOptions,\n ListMessagesOptions,\n UpdateMessageOptions,\n UpdateTopicOptions,\n AddParticipantsOptions,\n ListParticipantsOptions,\n RemoveParticipantOptions,\n SendTypingNotificationOptions,\n SendReadReceiptOptions,\n ListReadReceiptsOptions,\n GetPropertiesOptions\n} from \"./models/options\";\nimport { ChatApiClient } from \"./generated/src\";\nimport { createCommunicationTokenCredentialPolicy } from \"./credential/communicationTokenCredentialPolicy\";\nimport { InternalPipelineOptions } from \"@azure/core-rest-pipeline\";\nconst minimumTypingIntervalInMilliSeconds: number = 8000;\n\n/**\n * The client to do chat operations\n */\nexport class ChatThreadClient {\n /**\n * Thread ID of the ChatThreadClient\n */\n readonly threadId: string;\n\n private readonly tokenCredential: CommunicationTokenCredential;\n private readonly client: ChatApiClient;\n\n private timeOfLastTypingRequest: Date | undefined = undefined;\n\n constructor(\n private readonly endpoint: string,\n threadId: string,\n credential: CommunicationTokenCredential,\n options: ChatThreadClientOptions = {}\n ) {\n this.threadId = threadId;\n this.tokenCredential = credential;\n\n const internalPipelineOptions: InternalPipelineOptions = {\n ...options,\n ...{\n loggingOptions: {\n logger: logger.info\n }\n }\n };\n\n this.client = new ChatApiClient(this.endpoint, {\n endpoint: this.endpoint,\n ...internalPipelineOptions\n });\n\n const authPolicy = createCommunicationTokenCredentialPolicy(this.tokenCredential);\n this.client.pipeline.addPolicy(authPolicy);\n }\n\n /**\n * Gets a chat thread.\n * Returns the chat thread.\n * @param options - Operation options.\n */\n public async getProperties(options: GetPropertiesOptions = {}): Promise<ChatThreadProperties> {\n const { span, updatedOptions } = createSpan(\"ChatClient-GetProperties\", options);\n\n try {\n const result = await this.client.chatThread.getChatThreadProperties(\n this.threadId,\n updatedOptions\n );\n return mapToChatThreadPropertiesSdkModel(result);\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Updates a thread's topic.\n * @param topic - The topic needs to be updated to.\n * @param options - Operation options.\n */\n public async updateTopic(topic: string, options: UpdateTopicOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-UpdateTopic\", options);\n\n try {\n await this.client.chatThread.updateChatThreadProperties(\n this.threadId,\n { topic: topic },\n updatedOptions\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Sends a chat message to a thread identified by threadId.\n * Returns the id of the created message.\n * @param request - Request for sending a message.\n * @param options - Operation options.\n */\n public async sendMessage(\n request: SendMessageRequest,\n options: SendMessageOptions = {}\n ): Promise<SendChatMessageResult> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-SendMessage\", options);\n\n try {\n // reset typing notification clock\n this.timeOfLastTypingRequest = undefined;\n\n const result = await this.client.chatThread.sendChatMessage(\n this.threadId,\n { ...request, ...options },\n updatedOptions\n );\n return result;\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Gets a chat message identified by messageId.\n * Returns the specific message.\n * @param messageId - The message id of the message.\n * @param options - Operation options.\n */\n public async getMessage(\n messageId: string,\n options: GetMessageOptions = {}\n ): Promise<ChatMessage> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-GetMessage\", options);\n\n try {\n const result = await this.client.chatThread.getChatMessage(\n this.threadId,\n messageId,\n updatedOptions\n );\n return mapToChatMessageSdkModel(result);\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listMessagesPage(\n pageSettings: ListPageSettings,\n options: ListMessagesOptions = {}\n ): AsyncIterableIterator<ChatMessage[]> {\n if (!pageSettings.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatMessages(\n this.threadId,\n options\n );\n pageSettings.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatMessageSdkModel, this);\n }\n }\n\n while (pageSettings.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatMessagesNext(\n this.threadId,\n pageSettings.continuationToken,\n options\n );\n pageSettings.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatMessageSdkModel, this);\n } else {\n break;\n }\n }\n }\n\n private async *listMessagesAll(options: ListMessagesOptions): AsyncIterableIterator<ChatMessage> {\n for await (const page of this.listMessagesPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets a list of message from a thread identified by threadId.\n * Returns the list of the messages.\n * @param options - Get messages options.\n */\n public listMessages(options: ListMessagesOptions = {}): PagedAsyncIterableIterator<ChatMessage> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-ListMessages\", options);\n\n try {\n const iter = this.listMessagesAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listMessagesPage(settings, updatedOptions);\n }\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes a message identified by threadId and messageId\n * @param messageId - The message id of the message.\n * @param options - Operation options.\n */\n public async deleteMessage(messageId: string, options: DeleteMessageOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-DeleteMessage\", options);\n\n try {\n await this.client.chatThread.deleteChatMessage(this.threadId, messageId, updatedOptions);\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Updates a message identified by threadId and messageId\n * @param messageId - The message id of the message.\n * @param options - Operation options.\n */\n public async updateMessage(messageId: string, options: UpdateMessageOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-UpdateMessage\", options);\n\n try {\n await this.client.chatThread.updateChatMessage(\n this.threadId,\n messageId,\n options,\n updatedOptions\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Adds the details of chat participants belonging to the thread identified by threadId.\n * @param request - Thread participants' details to add in the thread roster\n * @param options - Operation options.\n */\n public async addParticipants(\n request: AddParticipantsRequest,\n options: AddParticipantsOptions = {}\n ): Promise<AddChatParticipantsResult> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-AddParticipants\", options);\n\n try {\n const result = await this.client.chatThread.addChatParticipants(\n this.threadId,\n mapToAddChatParticipantsRequestRestModel(request),\n updatedOptions\n );\n return result;\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listParticipantsPage(\n continuationState: ListPageSettings,\n options: ListParticipantsOptions = {}\n ): AsyncIterableIterator<ChatParticipant[]> {\n if (!continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatParticipants(\n this.threadId,\n options\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatParticipantSdkModel, this);\n }\n }\n\n while (continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatParticipantsNext(\n this.threadId,\n continuationState.continuationToken,\n options\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatParticipantSdkModel, this);\n } else {\n break;\n }\n }\n }\n\n private async *listParticipantsAll(\n options: ListParticipantsOptions\n ): AsyncIterableIterator<ChatParticipant> {\n for await (const page of this.listParticipantsPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets the participants of the thread identified by threadId.\n * Returns the lists of the participants.\n * @param options - Operation options.\n */\n public listParticipants(\n options: ListParticipantsOptions = {}\n ): PagedAsyncIterableIterator<ChatParticipant> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-ListParticipants\", options);\n\n try {\n const iter = this.listParticipantsAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listParticipantsPage(settings, updatedOptions);\n }\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Removes participant from the thread identified by threadId.\n * @param participant - Thread participant to remove from the thread roster\n * @param options - Operation options.\n */\n public async removeParticipant(\n participant: CommunicationIdentifier,\n options: RemoveParticipantOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-RemoveParticipant\", options);\n\n try {\n await this.client.chatThread.removeChatParticipant(\n this.threadId,\n serializeCommunicationIdentifier(participant),\n updatedOptions\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Sends a typing notification to the thread.\n * Doesn't attempt to send if the time since last notification is smaller than the minimum typing interval\n * @param options - - Operation options\n * @returns True if the typing message notification could be sent, otherwise false.\n */\n public async sendTypingNotification(\n options: SendTypingNotificationOptions = {}\n ): Promise<boolean> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-SendTypingNotification\", options);\n\n try {\n const dateNow = new Date();\n const { senderDisplayName, ...restOptions } = updatedOptions;\n if (this.canPostTypingNotification(dateNow)) {\n await this.client.chatThread.sendTypingNotification(this.threadId, {\n sendTypingNotificationRequest: { senderDisplayName: senderDisplayName },\n ...restOptions\n });\n\n this.timeOfLastTypingRequest = dateNow;\n return true;\n }\n\n logger.info(`Typing Notification NOT Send. [thread_id=${this.threadId}]`);\n return false;\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Sends a read receipt to the thread identified by threadId.\n * @param messageId - The message id of the message that user latest read.\n * @param request - Request for sending a read receipt\n * @param options - Operation options.\n */\n public async sendReadReceipt(\n request: SendReadReceiptRequest,\n options: SendReadReceiptOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-SendReadReceipt\", options);\n\n try {\n await this.client.chatThread.sendChatReadReceipt(this.threadId, request, updatedOptions);\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listReadReceiptsPage(\n continuationState: ListPageSettings,\n options: ListReadReceiptsOptions = {}\n ): AsyncIterableIterator<ChatMessageReadReceipt[]> {\n if (!continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatReadReceipts(\n this.threadId,\n options\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToReadReceiptSdkModel, this);\n }\n }\n\n while (continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatReadReceiptsNext(\n this.threadId,\n continuationState.continuationToken,\n options\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToReadReceiptSdkModel, this);\n } else {\n break;\n }\n }\n }\n\n private async *listReadReceiptsAll(\n options: ListReadReceiptsOptions\n ): AsyncIterableIterator<ChatMessageReadReceipt> {\n for await (const page of this.listReadReceiptsPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets a list of read receipt from a thread identified by threadId.\n * Returns the list of the messages.\n * @param options - Get messages options.\n */\n public listReadReceipts(\n options: ListReadReceiptsOptions = {}\n ): PagedAsyncIterableIterator<ChatMessageReadReceipt> {\n const { span, updatedOptions } = createSpan(\"ChatThreadClient-ListChatReadReceipts\", options);\n\n try {\n const iter = this.listReadReceiptsAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listReadReceiptsPage(settings, updatedOptions);\n }\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private canPostTypingNotification(dateNow: Date): boolean {\n if (this.timeOfLastTypingRequest) {\n const timeSinceLastRequestInMilliSeconds =\n dateNow.getTime() - this.timeOfLastTypingRequest.getTime();\n\n if (timeSinceLastRequestInMilliSeconds < minimumTypingIntervalInMilliSeconds) {\n logger.info(`Typing interval check failed. [last_request=${this.timeOfLastTypingRequest}]`);\n return false;\n }\n }\n\n return true;\n }\n}\n"]}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
|
-
import { bearerTokenAuthenticationPolicy } from "@azure/core-
|
|
3
|
+
import { bearerTokenAuthenticationPolicy } from "@azure/core-rest-pipeline";
|
|
4
4
|
/**
|
|
5
5
|
* Creates a new CommunicationTokenCredentialPolicy factory.
|
|
6
6
|
*
|
|
7
7
|
* @param credential - The CommunicationTokenCredential implementation that can supply the user credential.
|
|
8
8
|
*/
|
|
9
9
|
export const createCommunicationTokenCredentialPolicy = (credential) => {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
const policyOptions = {
|
|
11
|
+
credential: {
|
|
12
|
+
getToken: (_scopes, options) => credential.getToken({ abortSignal: options === null || options === void 0 ? void 0 : options.abortSignal })
|
|
13
|
+
},
|
|
14
|
+
scopes: []
|
|
15
|
+
};
|
|
16
|
+
return bearerTokenAuthenticationPolicy(policyOptions);
|
|
13
17
|
};
|
|
14
18
|
//# sourceMappingURL=communicationTokenCredentialPolicy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"communicationTokenCredentialPolicy.js","sourceRoot":"","sources":["../../../src/credential/communicationTokenCredentialPolicy.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,
|
|
1
|
+
{"version":3,"file":"communicationTokenCredentialPolicy.js","sourceRoot":"","sources":["../../../src/credential/communicationTokenCredentialPolicy.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EACL,+BAA+B,EAGhC,MAAM,2BAA2B,CAAC;AAEnC;;;;GAIG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,CACtD,UAAwC,EACxB,EAAE;IAClB,MAAM,aAAa,GAA2C;QAC5D,UAAU,EAAE;YACV,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAAE,CAAC;SAC3F;QACD,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,OAAO,+BAA+B,CAAC,aAAa,CAAC,CAAC;AACxD,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CommunicationTokenCredential } from \"@azure/communication-common\";\nimport {\n bearerTokenAuthenticationPolicy,\n BearerTokenAuthenticationPolicyOptions,\n PipelinePolicy\n} from \"@azure/core-rest-pipeline\";\n\n/**\n * Creates a new CommunicationTokenCredentialPolicy factory.\n *\n * @param credential - The CommunicationTokenCredential implementation that can supply the user credential.\n */\nexport const createCommunicationTokenCredentialPolicy = (\n credential: CommunicationTokenCredential\n): PipelinePolicy => {\n const policyOptions: BearerTokenAuthenticationPolicyOptions = {\n credential: {\n getToken: (_scopes, options) => credential.getToken({ abortSignal: options?.abortSignal })\n },\n scopes: []\n };\n\n return bearerTokenAuthenticationPolicy(policyOptions);\n};\n"]}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Code generated by Microsoft (R) AutoRest Code Generator.
|
|
6
6
|
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
8
|
+
import { ChatThreadImpl, ChatImpl } from "./operations";
|
|
9
9
|
import { ChatApiClientContext } from "./chatApiClientContext";
|
|
10
10
|
export class ChatApiClient extends ChatApiClientContext {
|
|
11
11
|
/**
|
|
@@ -15,8 +15,8 @@ export class ChatApiClient extends ChatApiClientContext {
|
|
|
15
15
|
*/
|
|
16
16
|
constructor(endpoint, options) {
|
|
17
17
|
super(endpoint, options);
|
|
18
|
-
this.chatThread = new
|
|
19
|
-
this.chat = new
|
|
18
|
+
this.chatThread = new ChatThreadImpl(this);
|
|
19
|
+
this.chat = new ChatImpl(this);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=chatApiClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatApiClient.js","sourceRoot":"","sources":["../../../../src/generated/src/chatApiClient.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"chatApiClient.js","sourceRoot":"","sources":["../../../../src/generated/src/chatApiClient.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,MAAM,OAAO,aAAc,SAAQ,oBAAoB;IACrD;;;;OAIG;IACH,YAAY,QAAgB,EAAE,OAAqC;QACjE,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CAIF","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { ChatThreadImpl, ChatImpl } from \"./operations\";\nimport { ChatThread, Chat } from \"./operationsInterfaces\";\nimport { ChatApiClientContext } from \"./chatApiClientContext\";\nimport { ChatApiClientOptionalParams } from \"./models\";\n\nexport class ChatApiClient extends ChatApiClientContext {\n /**\n * Initializes a new instance of the ChatApiClient class.\n * @param endpoint The endpoint of the Azure Communication resource.\n * @param options The parameter options\n */\n constructor(endpoint: string, options?: ChatApiClientOptionalParams) {\n super(endpoint, options);\n this.chatThread = new ChatThreadImpl(this);\n this.chat = new ChatImpl(this);\n }\n\n chatThread: ChatThread;\n chat: Chat;\n}\n"]}
|
|
@@ -5,10 +5,8 @@
|
|
|
5
5
|
* Code generated by Microsoft (R) AutoRest Code Generator.
|
|
6
6
|
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
|
7
7
|
*/
|
|
8
|
-
import * as
|
|
9
|
-
|
|
10
|
-
const packageVersion = "1.1.0-beta.2";
|
|
11
|
-
export class ChatApiClientContext extends coreHttp.ServiceClient {
|
|
8
|
+
import * as coreClient from "@azure/core-client";
|
|
9
|
+
export class ChatApiClientContext extends coreClient.ServiceClient {
|
|
12
10
|
/**
|
|
13
11
|
* Initializes a new instance of the ChatApiClientContext class.
|
|
14
12
|
* @param endpoint The endpoint of the Azure Communication resource.
|
|
@@ -22,17 +20,21 @@ export class ChatApiClientContext extends coreHttp.ServiceClient {
|
|
|
22
20
|
if (!options) {
|
|
23
21
|
options = {};
|
|
24
22
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
const defaults = {
|
|
24
|
+
requestContentType: "application/json; charset=utf-8"
|
|
25
|
+
};
|
|
26
|
+
const packageDetails = `azsdk-js-azure-communication-chat/1.1.0`;
|
|
27
|
+
const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
|
|
28
|
+
? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
|
|
29
|
+
: `${packageDetails}`;
|
|
30
|
+
const optionsWithDefaults = Object.assign(Object.assign(Object.assign({}, defaults), options), { userAgentOptions: {
|
|
31
|
+
userAgentPrefix
|
|
32
|
+
}, baseUri: options.endpoint || "{endpoint}" });
|
|
33
|
+
super(optionsWithDefaults);
|
|
32
34
|
// Parameter assignments
|
|
33
35
|
this.endpoint = endpoint;
|
|
34
36
|
// Assigning values to Constant parameters
|
|
35
|
-
this.apiVersion = options.apiVersion || "2021-
|
|
37
|
+
this.apiVersion = options.apiVersion || "2021-09-07";
|
|
36
38
|
}
|
|
37
39
|
}
|
|
38
40
|
//# sourceMappingURL=chatApiClientContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatApiClientContext.js","sourceRoot":"","sources":["../../../../src/generated/src/chatApiClientContext.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"chatApiClientContext.js","sourceRoot":"","sources":["../../../../src/generated/src/chatApiClientContext.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AAGjD,MAAM,OAAO,oBAAqB,SAAQ,UAAU,CAAC,aAAa;IAIhE;;;;OAIG;IACH,YAAY,QAAgB,EAAE,OAAqC;QACjE,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAC9C;QAED,0CAA0C;QAC1C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,EAAE,CAAC;SACd;QACD,MAAM,QAAQ,GAAgC;YAC5C,kBAAkB,EAAE,iCAAiC;SACtD,CAAC;QAEF,MAAM,cAAc,GAAG,yCAAyC,CAAC;QACjE,MAAM,eAAe,GACnB,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,eAAe;YAClE,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,IAAI,cAAc,EAAE;YACjE,CAAC,CAAC,GAAG,cAAc,EAAE,CAAC;QAE1B,MAAM,mBAAmB,iDACpB,QAAQ,GACR,OAAO,KACV,gBAAgB,EAAE;gBAChB,eAAe;aAChB,EACD,OAAO,EAAE,OAAO,CAAC,QAAQ,IAAI,YAAY,GAC1C,CAAC;QACF,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3B,wBAAwB;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,0CAA0C;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,YAAY,CAAC;IACvD,CAAC;CACF","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport { ChatApiClientOptionalParams } from \"./models\";\n\nexport class ChatApiClientContext extends coreClient.ServiceClient {\n endpoint: string;\n apiVersion: string;\n\n /**\n * Initializes a new instance of the ChatApiClientContext class.\n * @param endpoint The endpoint of the Azure Communication resource.\n * @param options The parameter options\n */\n constructor(endpoint: string, options?: ChatApiClientOptionalParams) {\n if (endpoint === undefined) {\n throw new Error(\"'endpoint' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: ChatApiClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\"\n };\n\n const packageDetails = `azsdk-js-azure-communication-chat/1.1.0`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix\n },\n baseUri: options.endpoint || \"{endpoint}\"\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.endpoint = endpoint;\n\n // Assigning values to Constant parameters\n this.apiVersion = options.apiVersion || \"2021-09-07\";\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/generated/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nexport * from \"./models\";\nexport { ChatApiClient } from \"./chatApiClient\";\nexport { ChatApiClientContext } from \"./chatApiClientContext\";\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/generated/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,cAAc,wBAAwB,CAAC","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nexport * from \"./models\";\nexport { ChatApiClient } from \"./chatApiClient\";\nexport { ChatApiClientContext } from \"./chatApiClientContext\";\nexport * from \"./operationsInterfaces\";\n"]}
|
|
@@ -5,5 +5,11 @@
|
|
|
5
5
|
* Code generated by Microsoft (R) AutoRest Code Generator.
|
|
6
6
|
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
/** Known values of {@link CommunicationCloudEnvironmentModel} that the service accepts. */
|
|
9
|
+
export var KnownCommunicationCloudEnvironmentModel;
|
|
10
|
+
(function (KnownCommunicationCloudEnvironmentModel) {
|
|
11
|
+
KnownCommunicationCloudEnvironmentModel["Public"] = "public";
|
|
12
|
+
KnownCommunicationCloudEnvironmentModel["Dod"] = "dod";
|
|
13
|
+
KnownCommunicationCloudEnvironmentModel["Gcch"] = "gcch";
|
|
14
|
+
})(KnownCommunicationCloudEnvironmentModel || (KnownCommunicationCloudEnvironmentModel = {}));
|
|
9
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/generated/src/models/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreHttp from \"@azure/core-http\";\n\n/** A paged collection of chat message read receipts. */\nexport interface ChatMessageReadReceiptsCollection {\n /** Collection of chat message read receipts. */\n value: ChatMessageReadReceipt[];\n /**\n * If there are more chat message read receipts that can be retrieved, the next link will be populated.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** A chat message read receipt indicates the time a chat message was read by a recipient. */\nexport interface ChatMessageReadReceipt {\n /** Identifies a participant in Azure Communication services. A participant is, for example, a phone number or an Azure communication user. This model must be interpreted as a union: Apart from rawId, at most one further property may be set. */\n senderCommunicationIdentifier: CommunicationIdentifierModel;\n /** Id of the chat message that has been read. This id is generated by the server. */\n chatMessageId: string;\n /** The time at which the message was read. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n readOn: Date;\n}\n\n/** Identifies a participant in Azure Communication services. A participant is, for example, a phone number or an Azure communication user. This model must be interpreted as a union: Apart from rawId, at most one further property may be set. */\nexport interface CommunicationIdentifierModel {\n /** Raw Id of the identifier. Optional in requests, required in responses. */\n rawId?: string;\n /** The communication user. */\n communicationUser?: CommunicationUserIdentifierModel;\n /** The phone number. */\n phoneNumber?: PhoneNumberIdentifierModel;\n /** The Microsoft Teams user. */\n microsoftTeamsUser?: MicrosoftTeamsUserIdentifierModel;\n}\n\n/** A user that got created with an Azure Communication Services resource. */\nexport interface CommunicationUserIdentifierModel {\n /** The Id of the communication user. */\n id: string;\n}\n\n/** A phone number. */\nexport interface PhoneNumberIdentifierModel {\n /** The phone number in E.164 format. */\n value: string;\n}\n\n/** A Microsoft Teams user. */\nexport interface MicrosoftTeamsUserIdentifierModel {\n /** The Id of the Microsoft Teams user. If not anonymous, this is the AAD object Id of the user. */\n userId: string;\n /** True if the Microsoft Teams user is anonymous. By default false if missing. */\n isAnonymous?: boolean;\n /** The cloud that the Microsoft Teams user belongs to. By default 'public' if missing. */\n cloud?: CommunicationCloudEnvironmentModel;\n}\n\n/** The Communication Services error. */\nexport interface CommunicationErrorResponse {\n /** The Communication Services error. */\n error: ChatError;\n}\n\n/** The Communication Services error. */\nexport interface ChatError {\n /** The error code. */\n code: string;\n /** The error message. */\n message: string;\n /**\n * The error target.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly target?: string;\n /**\n * Further details about specific errors that led to this error.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly details?: ChatError[];\n /**\n * The inner error if any.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly innerError?: ChatError;\n}\n\n/** Request payload for sending a read receipt. */\nexport interface SendReadReceiptRequest {\n /** Id of the latest chat message read by the user. */\n chatMessageId: string;\n}\n\n/** Details of the message to send. */\nexport interface SendChatMessageRequest {\n /** Chat message content. */\n content: string;\n /** The display name of the chat message sender. This property is used to populate sender name for push notifications. */\n senderDisplayName?: string;\n /** The chat message type. */\n type?: ChatMessageType;\n /** Message metadata. */\n metadata?: { [propertyName: string]: string };\n}\n\n/** Result of the send message operation. */\nexport interface SendChatMessageResult {\n /** A server-generated message id. */\n id: string;\n}\n\n/** Collection of chat messages for a particular chat thread. */\nexport interface ChatMessagesCollection {\n /** Collection of chat messages. */\n value: ChatMessage[];\n /**\n * If there are more chat messages that can be retrieved, the next link will be populated.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Chat message. */\nexport interface ChatMessage {\n /** The id of the chat message. This id is server generated. */\n id: string;\n /** The chat message type. */\n type: ChatMessageType;\n /** Sequence of the chat message in the conversation. */\n sequenceId: string;\n /** Version of the chat message. */\n version: string;\n /** Content of a chat message. */\n content?: ChatMessageContent;\n /** The display name of the chat message sender. This property is used to populate sender name for push notifications. */\n senderDisplayName?: string;\n /** The timestamp when the chat message arrived at the server. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n createdOn: Date;\n /** Identifies a participant in Azure Communication services. A participant is, for example, a phone number or an Azure communication user. This model must be interpreted as a union: Apart from rawId, at most one further property may be set. */\n senderCommunicationIdentifier?: CommunicationIdentifierModel;\n /** The timestamp (if applicable) when the message was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n deletedOn?: Date;\n /** The last timestamp (if applicable) when the message was edited. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n editedOn?: Date;\n /** Message metadata. */\n metadata?: { [propertyName: string]: string };\n}\n\n/** Content of a chat message. */\nexport interface ChatMessageContent {\n /** Chat message content for messages of types text or html. */\n message?: string;\n /** Chat message content for messages of type topicUpdated. */\n topic?: string;\n /** Chat message content for messages of types participantAdded or participantRemoved. */\n participants?: ChatParticipant[];\n /** Identifies a participant in Azure Communication services. A participant is, for example, a phone number or an Azure communication user. This model must be interpreted as a union: Apart from rawId, at most one further property may be set. */\n initiatorCommunicationIdentifier?: CommunicationIdentifierModel;\n}\n\n/** A participant of the chat thread. */\nexport interface ChatParticipant {\n /** Identifies a participant in Azure Communication services. A participant is, for example, a phone number or an Azure communication user. This model must be interpreted as a union: Apart from rawId, at most one further property may be set. */\n communicationIdentifier: CommunicationIdentifierModel;\n /** Display name for the chat participant. */\n displayName?: string;\n /** Time from which the chat history is shared with the participant. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n shareHistoryTime?: Date;\n}\n\n/** Request payload for updating a chat message. */\nexport interface UpdateChatMessageRequest {\n /** Chat message content. */\n content?: string;\n /** Message metadata. */\n metadata?: { [propertyName: string]: string };\n}\n\n/** Collection of participants belong to a particular thread. */\nexport interface ChatParticipantsCollection {\n /** Chat participants. */\n value: ChatParticipant[];\n /**\n * If there are more chat participants that can be retrieved, the next link will be populated.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Participants to be added to the thread. */\nexport interface AddChatParticipantsRequest {\n /** Participants to add to a chat thread. */\n participants: ChatParticipant[];\n}\n\n/** Result of the add chat participants operation. */\nexport interface AddChatParticipantsResult {\n /**\n * The participants that failed to be added to the chat thread.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invalidParticipants?: ChatError[];\n}\n\n/** Request payload for creating a chat thread. */\nexport interface CreateChatThreadRequest {\n /** The chat thread topic. */\n topic: string;\n /** Participants to be added to the chat thread. */\n participants?: ChatParticipant[];\n}\n\n/** Result of the create chat thread operation. */\nexport interface CreateChatThreadResult {\n /** Chat thread. */\n chatThread?: ChatThreadProperties;\n /**\n * The participants that failed to be added to the chat thread.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invalidParticipants?: ChatError[];\n}\n\n/** Chat thread. */\nexport interface ChatThreadProperties {\n /** Chat thread id. */\n id: string;\n /** Chat thread topic. */\n topic: string;\n /** The timestamp when the chat thread was created. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n createdOn: Date;\n /** Identifies a participant in Azure Communication services. A participant is, for example, a phone number or an Azure communication user. This model must be interpreted as a union: Apart from rawId, at most one further property may be set. */\n createdByCommunicationIdentifier: CommunicationIdentifierModel;\n /** The timestamp when the chat thread was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n deletedOn?: Date;\n}\n\n/** Collection of chat threads. */\nexport interface ChatThreadsItemCollection {\n /** Collection of chat threads. */\n value: ChatThreadItem[];\n /**\n * If there are more chat threads that can be retrieved, the next link will be populated.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Summary information of a chat thread. */\nexport interface ChatThreadItem {\n /** Chat thread id. */\n id: string;\n /** Chat thread topic. */\n topic: string;\n /** The timestamp when the chat thread was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n deletedOn?: Date;\n /**\n * The timestamp when the last message arrived at the server. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly lastMessageReceivedOn?: Date;\n}\n\n/** Request payload for updating a chat thread. */\nexport interface UpdateChatThreadRequest {\n /** Chat thread topic. */\n topic?: string;\n}\n\n/** Request payload for typing notifications. */\nexport interface SendTypingNotificationRequest {\n /** The display name of the typing notification sender. This property is used to populate sender name for push notifications. */\n senderDisplayName?: string;\n}\n\n/** Known values of {@link CommunicationCloudEnvironmentModel} that the service accepts. */\nexport const enum KnownCommunicationCloudEnvironmentModel {\n Public = \"public\",\n Dod = \"dod\",\n Gcch = \"gcch\"\n}\n\n/**\n * Defines values for CommunicationCloudEnvironmentModel. \\\n * {@link KnownCommunicationCloudEnvironmentModel} can be used interchangeably with CommunicationCloudEnvironmentModel,\n * this enum contains the known values that the service supports.\n * ### Know values supported by the service\n * **public** \\\n * **dod** \\\n * **gcch**\n */\nexport type CommunicationCloudEnvironmentModel = string;\n/** Defines values for ChatMessageType. */\nexport type ChatMessageType =\n | \"text\"\n | \"html\"\n | \"topicUpdated\"\n | \"participantAdded\"\n | \"participantRemoved\";\n\n/** Optional parameters. */\nexport interface ChatThreadListChatReadReceiptsOptionalParams\n extends coreHttp.OperationOptions {\n /** The maximum number of chat message read receipts to be returned per page. */\n maxPageSize?: number;\n /** Skips chat message read receipts up to a specified position in response. */\n skip?: number;\n}\n\n/** Contains response data for the listChatReadReceipts operation. */\nexport type ChatThreadListChatReadReceiptsResponse = ChatMessageReadReceiptsCollection & {\n /** The underlying HTTP response. */\n _response: coreHttp.HttpResponse & {\n /** The response body as text (string format) */\n bodyAsText: string;\n\n /** The response body as parsed JSON or XML */\n parsedBody: ChatMessageReadReceiptsCollection;\n };\n};\n\n/** Contains response data for the sendChatMessage operation. */\nexport type ChatThreadSendChatMessageResponse = SendChatMessageResult & {\n /** The underlying HTTP response. */\n _response: coreHttp.HttpResponse & {\n /** The response body as text (string format) */\n bodyAsText: string;\n\n /** The response body as parsed JSON or XML */\n parsedBody: SendChatMessageResult;\n };\n};\n\n/** Optional parameters. */\nexport interface ChatThreadListChatMessagesOptionalParams\n extends coreHttp.OperationOptions {\n /** The maximum number of messages to be returned per page. */\n maxPageSize?: number;\n /** The earliest point in time to get messages up to. The timestamp should be in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n startTime?: Date;\n}\n\n/** Contains response data for the listChatMessages operation. */\nexport type ChatThreadListChatMessagesResponse = ChatMessagesCollection & {\n /** The underlying HTTP response. */\n _response: coreHttp.HttpResponse & {\n /** The response body as text (string format) */\n bodyAsText: string;\n\n /** The response body as parsed JSON or XML */\n parsedBody: ChatMessagesCollection;\n };\n};\n\n/** Contains response data for the getChatMessage operation. */\nexport type ChatThreadGetChatMessageResponse = ChatMessage & {\n /** The underlying HTTP response. */\n _response: coreHttp.HttpResponse & {\n /** The response body as text (string format) */\n bodyAsText: string;\n\n /** The response body as parsed JSON or XML */\n parsedBody: ChatMessage;\n };\n};\n\n/** Optional parameters. */\nexport interface ChatThreadListChatParticipantsOptionalParams\n extends coreHttp.OperationOptions {\n /** The maximum number of participants to be returned per page. */\n maxPageSize?: number;\n /** Skips participants up to a specified position in response. */\n skip?: number;\n}\n\n/** Contains response data for the listChatParticipants operation. */\nexport type ChatThreadListChatParticipantsResponse = ChatParticipantsCollection & {\n /** The underlying HTTP response. */\n _response: coreHttp.HttpResponse & {\n /** The response body as text (string format) */\n bodyAsText: string;\n\n /** The response body as parsed JSON or XML */\n parsedBody: ChatParticipantsCollection;\n };\n};\n\n/** Contains response data for the addChatParticipants operation. */\nexport type ChatThreadAddChatParticipantsResponse = AddChatParticipantsResult & {\n /** The underlying HTTP response. */\n _response: coreHttp.HttpResponse & {\n /** The response body as text (string format) */\n bodyAsText: string;\n\n /** The response body as parsed JSON or XML */\n parsedBody: AddChatParticipantsResult;\n };\n};\n\n/** Contains response data for the getChatThreadProperties operation. */\nexport type ChatThreadGetChatThreadPropertiesResponse = ChatThreadProperties & {\n /** The underlying HTTP response. */\n _response: coreHttp.HttpResponse & {\n /** The response body as text (string format) */\n bodyAsText: string;\n\n /** The response body as parsed JSON or XML */\n parsedBody: ChatThreadProperties;\n };\n};\n\n/** Optional parameters. */\nexport interface ChatThreadSendTypingNotificationOptionalParams\n extends coreHttp.OperationOptions {\n /** Details of the typing notification request. */\n sendTypingNotificationRequest?: SendTypingNotificationRequest;\n}\n\n/** Optional parameters. */\nexport interface ChatThreadListChatReadReceiptsNextOptionalParams\n extends coreHttp.OperationOptions {\n /** The maximum number of chat message read receipts to be returned per page. */\n maxPageSize?: number;\n /** Skips chat message read receipts up to a specified position in response. */\n skip?: number;\n}\n\n/** Contains response data for the listChatReadReceiptsNext operation. */\nexport type ChatThreadListChatReadReceiptsNextResponse = ChatMessageReadReceiptsCollection & {\n /** The underlying HTTP response. */\n _response: coreHttp.HttpResponse & {\n /** The response body as text (string format) */\n bodyAsText: string;\n\n /** The response body as parsed JSON or XML */\n parsedBody: ChatMessageReadReceiptsCollection;\n };\n};\n\n/** Optional parameters. */\nexport interface ChatThreadListChatMessagesNextOptionalParams\n extends coreHttp.OperationOptions {\n /** The maximum number of messages to be returned per page. */\n maxPageSize?: number;\n /** The earliest point in time to get messages up to. The timestamp should be in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n startTime?: Date;\n}\n\n/** Contains response data for the listChatMessagesNext operation. */\nexport type ChatThreadListChatMessagesNextResponse = ChatMessagesCollection & {\n /** The underlying HTTP response. */\n _response: coreHttp.HttpResponse & {\n /** The response body as text (string format) */\n bodyAsText: string;\n\n /** The response body as parsed JSON or XML */\n parsedBody: ChatMessagesCollection;\n };\n};\n\n/** Optional parameters. */\nexport interface ChatThreadListChatParticipantsNextOptionalParams\n extends coreHttp.OperationOptions {\n /** The maximum number of participants to be returned per page. */\n maxPageSize?: number;\n /** Skips participants up to a specified position in response. */\n skip?: number;\n}\n\n/** Contains response data for the listChatParticipantsNext operation. */\nexport type ChatThreadListChatParticipantsNextResponse = ChatParticipantsCollection & {\n /** The underlying HTTP response. */\n _response: coreHttp.HttpResponse & {\n /** The response body as text (string format) */\n bodyAsText: string;\n\n /** The response body as parsed JSON or XML */\n parsedBody: ChatParticipantsCollection;\n };\n};\n\n/** Optional parameters. */\nexport interface ChatCreateChatThreadOptionalParams\n extends coreHttp.OperationOptions {\n /** If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated, globally unique for all time, identifier for the request. It is recommended to use version 4 (random) UUIDs. */\n repeatabilityRequestId?: string;\n}\n\n/** Contains response data for the createChatThread operation. */\nexport type ChatCreateChatThreadResponse = CreateChatThreadResult & {\n /** The underlying HTTP response. */\n _response: coreHttp.HttpResponse & {\n /** The response body as text (string format) */\n bodyAsText: string;\n\n /** The response body as parsed JSON or XML */\n parsedBody: CreateChatThreadResult;\n };\n};\n\n/** Optional parameters. */\nexport interface ChatListChatThreadsOptionalParams\n extends coreHttp.OperationOptions {\n /** The maximum number of chat threads returned per page. */\n maxPageSize?: number;\n /** The earliest point in time to get chat threads up to. The timestamp should be in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n startTime?: Date;\n}\n\n/** Contains response data for the listChatThreads operation. */\nexport type ChatListChatThreadsResponse = ChatThreadsItemCollection & {\n /** The underlying HTTP response. */\n _response: coreHttp.HttpResponse & {\n /** The response body as text (string format) */\n bodyAsText: string;\n\n /** The response body as parsed JSON or XML */\n parsedBody: ChatThreadsItemCollection;\n };\n};\n\n/** Optional parameters. */\nexport interface ChatListChatThreadsNextOptionalParams\n extends coreHttp.OperationOptions {\n /** The maximum number of chat threads returned per page. */\n maxPageSize?: number;\n /** The earliest point in time to get chat threads up to. The timestamp should be in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n startTime?: Date;\n}\n\n/** Contains response data for the listChatThreadsNext operation. */\nexport type ChatListChatThreadsNextResponse = ChatThreadsItemCollection & {\n /** The underlying HTTP response. */\n _response: coreHttp.HttpResponse & {\n /** The response body as text (string format) */\n bodyAsText: string;\n\n /** The response body as parsed JSON or XML */\n parsedBody: ChatThreadsItemCollection;\n };\n};\n\n/** Optional parameters. */\nexport interface ChatApiClientOptionalParams\n extends coreHttp.ServiceClientOptions {\n /** Api Version */\n apiVersion?: string;\n /** Overrides client endpoint. */\n endpoint?: string;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/generated/src/models/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoRH,2FAA2F;AAC3F,MAAM,CAAN,IAAY,uCAIX;AAJD,WAAY,uCAAuC;IACjD,4DAAiB,CAAA;IACjB,sDAAW,CAAA;IACX,wDAAa,CAAA;AACf,CAAC,EAJW,uCAAuC,KAAvC,uCAAuC,QAIlD","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\n/** A paged collection of chat message read receipts. */\nexport interface ChatMessageReadReceiptsCollection {\n /** Collection of chat message read receipts. */\n value: ChatMessageReadReceipt[];\n /**\n * If there are more chat message read receipts that can be retrieved, the next link will be populated.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** A chat message read receipt indicates the time a chat message was read by a recipient. */\nexport interface ChatMessageReadReceipt {\n /** Identifies a participant in Azure Communication services. A participant is, for example, a phone number or an Azure communication user. This model must be interpreted as a union: Apart from rawId, at most one further property may be set. */\n senderCommunicationIdentifier: CommunicationIdentifierModel;\n /** Id of the chat message that has been read. This id is generated by the server. */\n chatMessageId: string;\n /** The time at which the message was read. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n readOn: Date;\n}\n\n/** Identifies a participant in Azure Communication services. A participant is, for example, a phone number or an Azure communication user. This model must be interpreted as a union: Apart from rawId, at most one further property may be set. */\nexport interface CommunicationIdentifierModel {\n /** Raw Id of the identifier. Optional in requests, required in responses. */\n rawId?: string;\n /** The communication user. */\n communicationUser?: CommunicationUserIdentifierModel;\n /** The phone number. */\n phoneNumber?: PhoneNumberIdentifierModel;\n /** The Microsoft Teams user. */\n microsoftTeamsUser?: MicrosoftTeamsUserIdentifierModel;\n}\n\n/** A user that got created with an Azure Communication Services resource. */\nexport interface CommunicationUserIdentifierModel {\n /** The Id of the communication user. */\n id: string;\n}\n\n/** A phone number. */\nexport interface PhoneNumberIdentifierModel {\n /** The phone number in E.164 format. */\n value: string;\n}\n\n/** A Microsoft Teams user. */\nexport interface MicrosoftTeamsUserIdentifierModel {\n /** The Id of the Microsoft Teams user. If not anonymous, this is the AAD object Id of the user. */\n userId: string;\n /** True if the Microsoft Teams user is anonymous. By default false if missing. */\n isAnonymous?: boolean;\n /** The cloud that the Microsoft Teams user belongs to. By default 'public' if missing. */\n cloud?: CommunicationCloudEnvironmentModel;\n}\n\n/** The Communication Services error. */\nexport interface CommunicationErrorResponse {\n /** The Communication Services error. */\n error: ChatError;\n}\n\n/** The Communication Services error. */\nexport interface ChatError {\n /** The error code. */\n code: string;\n /** The error message. */\n message: string;\n /**\n * The error target.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly target?: string;\n /**\n * Further details about specific errors that led to this error.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly details?: ChatError[];\n /**\n * The inner error if any.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly innerError?: ChatError;\n}\n\n/** Request payload for sending a read receipt. */\nexport interface SendReadReceiptRequest {\n /** Id of the latest chat message read by the user. */\n chatMessageId: string;\n}\n\n/** Details of the message to send. */\nexport interface SendChatMessageRequest {\n /** Chat message content. */\n content: string;\n /** The display name of the chat message sender. This property is used to populate sender name for push notifications. */\n senderDisplayName?: string;\n /** The chat message type. */\n type?: ChatMessageType;\n /** Message metadata. */\n metadata?: { [propertyName: string]: string };\n}\n\n/** Result of the send message operation. */\nexport interface SendChatMessageResult {\n /** A server-generated message id. */\n id: string;\n}\n\n/** Collection of chat messages for a particular chat thread. */\nexport interface ChatMessagesCollection {\n /** Collection of chat messages. */\n value: ChatMessage[];\n /**\n * If there are more chat messages that can be retrieved, the next link will be populated.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Chat message. */\nexport interface ChatMessage {\n /** The id of the chat message. This id is server generated. */\n id: string;\n /** The chat message type. */\n type: ChatMessageType;\n /** Sequence of the chat message in the conversation. */\n sequenceId: string;\n /** Version of the chat message. */\n version: string;\n /** Content of a chat message. */\n content?: ChatMessageContent;\n /** The display name of the chat message sender. This property is used to populate sender name for push notifications. */\n senderDisplayName?: string;\n /** The timestamp when the chat message arrived at the server. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n createdOn: Date;\n /** Identifies a participant in Azure Communication services. A participant is, for example, a phone number or an Azure communication user. This model must be interpreted as a union: Apart from rawId, at most one further property may be set. */\n senderCommunicationIdentifier?: CommunicationIdentifierModel;\n /** The timestamp (if applicable) when the message was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n deletedOn?: Date;\n /** The last timestamp (if applicable) when the message was edited. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n editedOn?: Date;\n /** Message metadata. */\n metadata?: { [propertyName: string]: string };\n}\n\n/** Content of a chat message. */\nexport interface ChatMessageContent {\n /** Chat message content for messages of types text or html. */\n message?: string;\n /** Chat message content for messages of type topicUpdated. */\n topic?: string;\n /** Chat message content for messages of types participantAdded or participantRemoved. */\n participants?: ChatParticipant[];\n /** Identifies a participant in Azure Communication services. A participant is, for example, a phone number or an Azure communication user. This model must be interpreted as a union: Apart from rawId, at most one further property may be set. */\n initiatorCommunicationIdentifier?: CommunicationIdentifierModel;\n}\n\n/** A participant of the chat thread. */\nexport interface ChatParticipant {\n /** Identifies a participant in Azure Communication services. A participant is, for example, a phone number or an Azure communication user. This model must be interpreted as a union: Apart from rawId, at most one further property may be set. */\n communicationIdentifier: CommunicationIdentifierModel;\n /** Display name for the chat participant. */\n displayName?: string;\n /** Time from which the chat history is shared with the participant. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n shareHistoryTime?: Date;\n}\n\n/** Request payload for updating a chat message. */\nexport interface UpdateChatMessageRequest {\n /** Chat message content. */\n content?: string;\n /** Message metadata. */\n metadata?: { [propertyName: string]: string };\n}\n\n/** Collection of participants belong to a particular thread. */\nexport interface ChatParticipantsCollection {\n /** Chat participants. */\n value: ChatParticipant[];\n /**\n * If there are more chat participants that can be retrieved, the next link will be populated.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Participants to be added to the thread. */\nexport interface AddChatParticipantsRequest {\n /** Participants to add to a chat thread. */\n participants: ChatParticipant[];\n}\n\n/** Result of the add chat participants operation. */\nexport interface AddChatParticipantsResult {\n /**\n * The participants that failed to be added to the chat thread.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invalidParticipants?: ChatError[];\n}\n\n/** Request payload for creating a chat thread. */\nexport interface CreateChatThreadRequest {\n /** The chat thread topic. */\n topic: string;\n /** Participants to be added to the chat thread. */\n participants?: ChatParticipant[];\n}\n\n/** Result of the create chat thread operation. */\nexport interface CreateChatThreadResult {\n /** Chat thread. */\n chatThread?: ChatThreadProperties;\n /**\n * The participants that failed to be added to the chat thread.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invalidParticipants?: ChatError[];\n}\n\n/** Chat thread. */\nexport interface ChatThreadProperties {\n /** Chat thread id. */\n id: string;\n /** Chat thread topic. */\n topic: string;\n /** The timestamp when the chat thread was created. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n createdOn: Date;\n /** Identifies a participant in Azure Communication services. A participant is, for example, a phone number or an Azure communication user. This model must be interpreted as a union: Apart from rawId, at most one further property may be set. */\n createdByCommunicationIdentifier: CommunicationIdentifierModel;\n /** The timestamp when the chat thread was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n deletedOn?: Date;\n}\n\n/** Collection of chat threads. */\nexport interface ChatThreadsItemCollection {\n /** Collection of chat threads. */\n value: ChatThreadItem[];\n /**\n * If there are more chat threads that can be retrieved, the next link will be populated.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Summary information of a chat thread. */\nexport interface ChatThreadItem {\n /** Chat thread id. */\n id: string;\n /** Chat thread topic. */\n topic: string;\n /** The timestamp when the chat thread was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n deletedOn?: Date;\n /**\n * The timestamp when the last message arrived at the server. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly lastMessageReceivedOn?: Date;\n}\n\n/** Request payload for updating a chat thread. */\nexport interface UpdateChatThreadRequest {\n /** Chat thread topic. */\n topic?: string;\n}\n\n/** Request payload for typing notifications. */\nexport interface SendTypingNotificationRequest {\n /** The display name of the typing notification sender. This property is used to populate sender name for push notifications. */\n senderDisplayName?: string;\n}\n\n/** Known values of {@link CommunicationCloudEnvironmentModel} that the service accepts. */\nexport enum KnownCommunicationCloudEnvironmentModel {\n Public = \"public\",\n Dod = \"dod\",\n Gcch = \"gcch\"\n}\n\n/**\n * Defines values for CommunicationCloudEnvironmentModel. \\\n * {@link KnownCommunicationCloudEnvironmentModel} can be used interchangeably with CommunicationCloudEnvironmentModel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **public** \\\n * **dod** \\\n * **gcch**\n */\nexport type CommunicationCloudEnvironmentModel = string;\n/** Defines values for ChatMessageType. */\nexport type ChatMessageType =\n | \"text\"\n | \"html\"\n | \"topicUpdated\"\n | \"participantAdded\"\n | \"participantRemoved\";\n\n/** Optional parameters. */\nexport interface ChatThreadListChatReadReceiptsOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of chat message read receipts to be returned per page. */\n maxPageSize?: number;\n /** Skips chat message read receipts up to a specified position in response. */\n skip?: number;\n}\n\n/** Contains response data for the listChatReadReceipts operation. */\nexport type ChatThreadListChatReadReceiptsResponse = ChatMessageReadReceiptsCollection;\n\n/** Optional parameters. */\nexport interface ChatThreadSendChatReadReceiptOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface ChatThreadSendChatMessageOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the sendChatMessage operation. */\nexport type ChatThreadSendChatMessageResponse = SendChatMessageResult;\n\n/** Optional parameters. */\nexport interface ChatThreadListChatMessagesOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of messages to be returned per page. */\n maxPageSize?: number;\n /** The earliest point in time to get messages up to. The timestamp should be in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n startTime?: Date;\n}\n\n/** Contains response data for the listChatMessages operation. */\nexport type ChatThreadListChatMessagesResponse = ChatMessagesCollection;\n\n/** Optional parameters. */\nexport interface ChatThreadGetChatMessageOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getChatMessage operation. */\nexport type ChatThreadGetChatMessageResponse = ChatMessage;\n\n/** Optional parameters. */\nexport interface ChatThreadUpdateChatMessageOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface ChatThreadDeleteChatMessageOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface ChatThreadListChatParticipantsOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of participants to be returned per page. */\n maxPageSize?: number;\n /** Skips participants up to a specified position in response. */\n skip?: number;\n}\n\n/** Contains response data for the listChatParticipants operation. */\nexport type ChatThreadListChatParticipantsResponse = ChatParticipantsCollection;\n\n/** Optional parameters. */\nexport interface ChatThreadRemoveChatParticipantOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface ChatThreadAddChatParticipantsOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the addChatParticipants operation. */\nexport type ChatThreadAddChatParticipantsResponse = AddChatParticipantsResult;\n\n/** Optional parameters. */\nexport interface ChatThreadUpdateChatThreadPropertiesOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface ChatThreadGetChatThreadPropertiesOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getChatThreadProperties operation. */\nexport type ChatThreadGetChatThreadPropertiesResponse = ChatThreadProperties;\n\n/** Optional parameters. */\nexport interface ChatThreadSendTypingNotificationOptionalParams\n extends coreClient.OperationOptions {\n /** Details of the typing notification request. */\n sendTypingNotificationRequest?: SendTypingNotificationRequest;\n}\n\n/** Optional parameters. */\nexport interface ChatThreadListChatReadReceiptsNextOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of chat message read receipts to be returned per page. */\n maxPageSize?: number;\n /** Skips chat message read receipts up to a specified position in response. */\n skip?: number;\n}\n\n/** Contains response data for the listChatReadReceiptsNext operation. */\nexport type ChatThreadListChatReadReceiptsNextResponse = ChatMessageReadReceiptsCollection;\n\n/** Optional parameters. */\nexport interface ChatThreadListChatMessagesNextOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of messages to be returned per page. */\n maxPageSize?: number;\n /** The earliest point in time to get messages up to. The timestamp should be in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n startTime?: Date;\n}\n\n/** Contains response data for the listChatMessagesNext operation. */\nexport type ChatThreadListChatMessagesNextResponse = ChatMessagesCollection;\n\n/** Optional parameters. */\nexport interface ChatThreadListChatParticipantsNextOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of participants to be returned per page. */\n maxPageSize?: number;\n /** Skips participants up to a specified position in response. */\n skip?: number;\n}\n\n/** Contains response data for the listChatParticipantsNext operation. */\nexport type ChatThreadListChatParticipantsNextResponse = ChatParticipantsCollection;\n\n/** Optional parameters. */\nexport interface ChatCreateChatThreadOptionalParams\n extends coreClient.OperationOptions {\n /** If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated, globally unique for all time, identifier for the request. It is recommended to use version 4 (random) UUIDs. */\n repeatabilityRequestId?: string;\n}\n\n/** Contains response data for the createChatThread operation. */\nexport type ChatCreateChatThreadResponse = CreateChatThreadResult;\n\n/** Optional parameters. */\nexport interface ChatListChatThreadsOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of chat threads returned per page. */\n maxPageSize?: number;\n /** The earliest point in time to get chat threads up to. The timestamp should be in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n startTime?: Date;\n}\n\n/** Contains response data for the listChatThreads operation. */\nexport type ChatListChatThreadsResponse = ChatThreadsItemCollection;\n\n/** Optional parameters. */\nexport interface ChatDeleteChatThreadOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface ChatListChatThreadsNextOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of chat threads returned per page. */\n maxPageSize?: number;\n /** The earliest point in time to get chat threads up to. The timestamp should be in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */\n startTime?: Date;\n}\n\n/** Contains response data for the listChatThreadsNext operation. */\nexport type ChatListChatThreadsNextResponse = ChatThreadsItemCollection;\n\n/** Optional parameters. */\nexport interface ChatApiClientOptionalParams\n extends coreClient.ServiceClientOptions {\n /** Api Version */\n apiVersion?: string;\n /** Overrides client endpoint. */\n endpoint?: string;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../../../src/generated/src/models/mappers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,CAAC,MAAM,iCAAiC,GAA6B;IACzE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,mCAAmC;QAC9C,eAAe,EAAE;YACf,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,wBAAwB;yBACpC;qBACF;iBACF;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,UAAU;gBAC1B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAA6B;IAC9D,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,wBAAwB;QACnC,eAAe,EAAE;YACf,6BAA6B,EAAE;gBAC7B,cAAc,EAAE,+BAA+B;gBAC/C,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,8BAA8B;iBAC1C;aACF;YACD,aAAa,EAAE;gBACb,cAAc,EAAE,eAAe;gBAC/B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,MAAM,EAAE;gBACN,cAAc,EAAE,QAAQ;gBACxB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAA6B;IACpE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,8BAA8B;QACzC,eAAe,EAAE;YACf,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,iBAAiB,EAAE;gBACjB,cAAc,EAAE,mBAAmB;gBACnC,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,kCAAkC;iBAC9C;aACF;YACD,WAAW,EAAE;gBACX,cAAc,EAAE,aAAa;gBAC7B,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,4BAA4B;iBACxC;aACF;YACD,kBAAkB,EAAE;gBAClB,cAAc,EAAE,oBAAoB;gBACpC,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,mCAAmC;iBAC/C;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAA6B;IACxE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,kCAAkC;QAC7C,eAAe,EAAE;YACf,EAAE,EAAE;gBACF,cAAc,EAAE,IAAI;gBACpB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAA6B;IAClE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,4BAA4B;QACvC,eAAe,EAAE;YACf,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAA6B;IACzE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,mCAAmC;QAC9C,eAAe,EAAE;YACf,MAAM,EAAE;gBACN,cAAc,EAAE,QAAQ;gBACxB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,WAAW,EAAE;gBACX,cAAc,EAAE,aAAa;gBAC7B,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAA6B;IAClE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,4BAA4B;QACvC,eAAe,EAAE;YACf,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,WAAW;iBACvB;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAA6B;IACjD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,WAAW;QACtB,eAAe,EAAE;YACf,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,SAAS;gBACzB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,MAAM,EAAE;gBACN,cAAc,EAAE,QAAQ;gBACxB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,SAAS;gBACzB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,WAAW;yBACvB;qBACF;iBACF;aACF;YACD,UAAU,EAAE;gBACV,cAAc,EAAE,YAAY;gBAC5B,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,WAAW;iBACvB;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAA6B;IAC9D,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,wBAAwB;QACnC,eAAe,EAAE;YACf,aAAa,EAAE;gBACb,cAAc,EAAE,eAAe;gBAC/B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAA6B;IAC9D,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,wBAAwB;QACnC,eAAe,EAAE;YACf,OAAO,EAAE;gBACP,cAAc,EAAE,SAAS;gBACzB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,iBAAiB,EAAE;gBACjB,cAAc,EAAE,mBAAmB;gBACnC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,MAAM;oBACZ,aAAa,EAAE;wBACb,MAAM;wBACN,MAAM;wBACN,cAAc;wBACd,kBAAkB;wBAClB,oBAAoB;qBACrB;iBACF;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,UAAU;gBAC1B,IAAI,EAAE;oBACJ,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBACpC;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAA6B;IAC7D,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,uBAAuB;QAClC,eAAe,EAAE;YACf,EAAE,EAAE;gBACF,cAAc,EAAE,IAAI;gBACpB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAA6B;IAC9D,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,wBAAwB;QACnC,eAAe,EAAE;YACf,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,aAAa;yBACzB;qBACF;iBACF;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,UAAU;gBAC1B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAA6B;IACnD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,aAAa;QACxB,eAAe,EAAE;YACf,EAAE,EAAE;gBACF,cAAc,EAAE,IAAI;gBACpB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,MAAM;oBACZ,aAAa,EAAE;wBACb,MAAM;wBACN,MAAM;wBACN,cAAc;wBACd,kBAAkB;wBAClB,oBAAoB;qBACrB;iBACF;aACF;YACD,UAAU,EAAE;gBACV,cAAc,EAAE,YAAY;gBAC5B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,SAAS;gBACzB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,SAAS;gBACzB,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,iBAAiB,EAAE;gBACjB,cAAc,EAAE,mBAAmB;gBACnC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,WAAW;gBAC3B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;YACD,6BAA6B,EAAE;gBAC7B,cAAc,EAAE,+BAA+B;gBAC/C,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,8BAA8B;iBAC1C;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,WAAW;gBAC3B,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,UAAU;gBAC1B,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,UAAU;gBAC1B,IAAI,EAAE;oBACJ,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBACpC;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAA6B;IAC1D,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,oBAAoB;QAC/B,eAAe,EAAE;YACf,OAAO,EAAE;gBACP,cAAc,EAAE,SAAS;gBACzB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,YAAY,EAAE;gBACZ,cAAc,EAAE,cAAc;gBAC9B,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,iBAAiB;yBAC7B;qBACF;iBACF;aACF;YACD,gCAAgC,EAAE;gBAChC,cAAc,EAAE,kCAAkC;gBAClD,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,8BAA8B;iBAC1C;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAA6B;IACvD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,iBAAiB;QAC5B,eAAe,EAAE;YACf,uBAAuB,EAAE;gBACvB,cAAc,EAAE,yBAAyB;gBACzC,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,8BAA8B;iBAC1C;aACF;YACD,WAAW,EAAE;gBACX,cAAc,EAAE,aAAa;gBAC7B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,gBAAgB,EAAE;gBAChB,cAAc,EAAE,kBAAkB;gBAClC,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAA6B;IAChE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,0BAA0B;QACrC,eAAe,EAAE;YACf,OAAO,EAAE;gBACP,cAAc,EAAE,SAAS;gBACzB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,UAAU;gBAC1B,IAAI,EAAE;oBACJ,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBACpC;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAA6B;IAClE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,4BAA4B;QACvC,eAAe,EAAE;YACf,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,iBAAiB;yBAC7B;qBACF;iBACF;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,UAAU;gBAC1B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAA6B;IAClE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,4BAA4B;QACvC,eAAe,EAAE;YACf,YAAY,EAAE;gBACZ,cAAc,EAAE,cAAc;gBAC9B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,iBAAiB;yBAC7B;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAA6B;IACjE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,2BAA2B;QACtC,eAAe,EAAE;YACf,mBAAmB,EAAE;gBACnB,cAAc,EAAE,qBAAqB;gBACrC,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,WAAW;yBACvB;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAA6B;IAC/D,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,yBAAyB;QACpC,eAAe,EAAE;YACf,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,YAAY,EAAE;gBACZ,cAAc,EAAE,cAAc;gBAC9B,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,iBAAiB;yBAC7B;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAA6B;IAC9D,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,wBAAwB;QACnC,eAAe,EAAE;YACf,UAAU,EAAE;gBACV,cAAc,EAAE,YAAY;gBAC5B,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,sBAAsB;iBAClC;aACF;YACD,mBAAmB,EAAE;gBACnB,cAAc,EAAE,qBAAqB;gBACrC,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,WAAW;yBACvB;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAA6B;IAC5D,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,sBAAsB;QACjC,eAAe,EAAE;YACf,EAAE,EAAE;gBACF,cAAc,EAAE,IAAI;gBACpB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,WAAW;gBAC3B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;YACD,gCAAgC,EAAE;gBAChC,cAAc,EAAE,kCAAkC;gBAClD,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,8BAA8B;iBAC1C;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,WAAW;gBAC3B,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAA6B;IACjE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,2BAA2B;QACtC,eAAe,EAAE;YACf,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,gBAAgB;yBAC5B;qBACF;iBACF;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,UAAU;gBAC1B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAA6B;IACtD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,gBAAgB;QAC3B,eAAe,EAAE;YACf,EAAE,EAAE;gBACF,cAAc,EAAE,IAAI;gBACpB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,WAAW;gBAC3B,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;YACD,qBAAqB,EAAE;gBACrB,cAAc,EAAE,uBAAuB;gBACvC,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAA6B;IAC/D,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,yBAAyB;QACpC,eAAe,EAAE;YACf,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAA6B;IACrE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,+BAA+B;QAC1C,eAAe,EAAE;YACf,iBAAiB,EAAE;gBACjB,cAAc,EAAE,mBAAmB;gBACnC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreHttp from \"@azure/core-http\";\n\nexport const ChatMessageReadReceiptsCollection: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessageReadReceiptsCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatMessageReadReceipt\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ChatMessageReadReceipt: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessageReadReceipt\",\n modelProperties: {\n senderCommunicationIdentifier: {\n serializedName: \"senderCommunicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n },\n chatMessageId: {\n serializedName: \"chatMessageId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n readOn: {\n serializedName: \"readOn\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentifierModel: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\",\n modelProperties: {\n rawId: {\n serializedName: \"rawId\",\n type: {\n name: \"String\"\n }\n },\n communicationUser: {\n serializedName: \"communicationUser\",\n type: {\n name: \"Composite\",\n className: \"CommunicationUserIdentifierModel\"\n }\n },\n phoneNumber: {\n serializedName: \"phoneNumber\",\n type: {\n name: \"Composite\",\n className: \"PhoneNumberIdentifierModel\"\n }\n },\n microsoftTeamsUser: {\n serializedName: \"microsoftTeamsUser\",\n type: {\n name: \"Composite\",\n className: \"MicrosoftTeamsUserIdentifierModel\"\n }\n }\n }\n }\n};\n\nexport const CommunicationUserIdentifierModel: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationUserIdentifierModel\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PhoneNumberIdentifierModel: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PhoneNumberIdentifierModel\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const MicrosoftTeamsUserIdentifierModel: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MicrosoftTeamsUserIdentifierModel\",\n modelProperties: {\n userId: {\n serializedName: \"userId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n isAnonymous: {\n serializedName: \"isAnonymous\",\n type: {\n name: \"Boolean\"\n }\n },\n cloud: {\n serializedName: \"cloud\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CommunicationErrorResponse: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationErrorResponse\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n }\n};\n\nexport const ChatError: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatError\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n target: {\n serializedName: \"target\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n },\n innerError: {\n serializedName: \"innererror\",\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n }\n};\n\nexport const SendReadReceiptRequest: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SendReadReceiptRequest\",\n modelProperties: {\n chatMessageId: {\n serializedName: \"chatMessageId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SendChatMessageRequest: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SendChatMessageRequest\",\n modelProperties: {\n content: {\n serializedName: \"content\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n senderDisplayName: {\n serializedName: \"senderDisplayName\",\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"text\",\n \"html\",\n \"topicUpdated\",\n \"participantAdded\",\n \"participantRemoved\"\n ]\n }\n },\n metadata: {\n serializedName: \"metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const SendChatMessageResult: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SendChatMessageResult\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ChatMessagesCollection: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessagesCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatMessage\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ChatMessage: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessage\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\n \"text\",\n \"html\",\n \"topicUpdated\",\n \"participantAdded\",\n \"participantRemoved\"\n ]\n }\n },\n sequenceId: {\n serializedName: \"sequenceId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n version: {\n serializedName: \"version\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n content: {\n serializedName: \"content\",\n type: {\n name: \"Composite\",\n className: \"ChatMessageContent\"\n }\n },\n senderDisplayName: {\n serializedName: \"senderDisplayName\",\n type: {\n name: \"String\"\n }\n },\n createdOn: {\n serializedName: \"createdOn\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n },\n senderCommunicationIdentifier: {\n serializedName: \"senderCommunicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n },\n deletedOn: {\n serializedName: \"deletedOn\",\n type: {\n name: \"DateTime\"\n }\n },\n editedOn: {\n serializedName: \"editedOn\",\n type: {\n name: \"DateTime\"\n }\n },\n metadata: {\n serializedName: \"metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const ChatMessageContent: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessageContent\",\n modelProperties: {\n message: {\n serializedName: \"message\",\n type: {\n name: \"String\"\n }\n },\n topic: {\n serializedName: \"topic\",\n type: {\n name: \"String\"\n }\n },\n participants: {\n serializedName: \"participants\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\"\n }\n }\n }\n },\n initiatorCommunicationIdentifier: {\n serializedName: \"initiatorCommunicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n }\n }\n }\n};\n\nexport const ChatParticipant: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\",\n modelProperties: {\n communicationIdentifier: {\n serializedName: \"communicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n },\n displayName: {\n serializedName: \"displayName\",\n type: {\n name: \"String\"\n }\n },\n shareHistoryTime: {\n serializedName: \"shareHistoryTime\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const UpdateChatMessageRequest: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"UpdateChatMessageRequest\",\n modelProperties: {\n content: {\n serializedName: \"content\",\n type: {\n name: \"String\"\n }\n },\n metadata: {\n serializedName: \"metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const ChatParticipantsCollection: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatParticipantsCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AddChatParticipantsRequest: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AddChatParticipantsRequest\",\n modelProperties: {\n participants: {\n serializedName: \"participants\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const AddChatParticipantsResult: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AddChatParticipantsResult\",\n modelProperties: {\n invalidParticipants: {\n serializedName: \"invalidParticipants\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const CreateChatThreadRequest: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CreateChatThreadRequest\",\n modelProperties: {\n topic: {\n serializedName: \"topic\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n participants: {\n serializedName: \"participants\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const CreateChatThreadResult: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CreateChatThreadResult\",\n modelProperties: {\n chatThread: {\n serializedName: \"chatThread\",\n type: {\n name: \"Composite\",\n className: \"ChatThreadProperties\"\n }\n },\n invalidParticipants: {\n serializedName: \"invalidParticipants\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ChatThreadProperties: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatThreadProperties\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n topic: {\n serializedName: \"topic\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n createdOn: {\n serializedName: \"createdOn\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n },\n createdByCommunicationIdentifier: {\n serializedName: \"createdByCommunicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n },\n deletedOn: {\n serializedName: \"deletedOn\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const ChatThreadsItemCollection: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatThreadsItemCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatThreadItem\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ChatThreadItem: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatThreadItem\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n topic: {\n serializedName: \"topic\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n deletedOn: {\n serializedName: \"deletedOn\",\n type: {\n name: \"DateTime\"\n }\n },\n lastMessageReceivedOn: {\n serializedName: \"lastMessageReceivedOn\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const UpdateChatThreadRequest: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"UpdateChatThreadRequest\",\n modelProperties: {\n topic: {\n serializedName: \"topic\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SendTypingNotificationRequest: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SendTypingNotificationRequest\",\n modelProperties: {\n senderDisplayName: {\n serializedName: \"senderDisplayName\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n"]}
|
|
1
|
+
{"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../../../src/generated/src/models/mappers.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const ChatMessageReadReceiptsCollection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessageReadReceiptsCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatMessageReadReceipt\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ChatMessageReadReceipt: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessageReadReceipt\",\n modelProperties: {\n senderCommunicationIdentifier: {\n serializedName: \"senderCommunicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n },\n chatMessageId: {\n serializedName: \"chatMessageId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n readOn: {\n serializedName: \"readOn\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentifierModel: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\",\n modelProperties: {\n rawId: {\n serializedName: \"rawId\",\n type: {\n name: \"String\"\n }\n },\n communicationUser: {\n serializedName: \"communicationUser\",\n type: {\n name: \"Composite\",\n className: \"CommunicationUserIdentifierModel\"\n }\n },\n phoneNumber: {\n serializedName: \"phoneNumber\",\n type: {\n name: \"Composite\",\n className: \"PhoneNumberIdentifierModel\"\n }\n },\n microsoftTeamsUser: {\n serializedName: \"microsoftTeamsUser\",\n type: {\n name: \"Composite\",\n className: \"MicrosoftTeamsUserIdentifierModel\"\n }\n }\n }\n }\n};\n\nexport const CommunicationUserIdentifierModel: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationUserIdentifierModel\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PhoneNumberIdentifierModel: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PhoneNumberIdentifierModel\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const MicrosoftTeamsUserIdentifierModel: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MicrosoftTeamsUserIdentifierModel\",\n modelProperties: {\n userId: {\n serializedName: \"userId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n isAnonymous: {\n serializedName: \"isAnonymous\",\n type: {\n name: \"Boolean\"\n }\n },\n cloud: {\n serializedName: \"cloud\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CommunicationErrorResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationErrorResponse\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n }\n};\n\nexport const ChatError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatError\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n target: {\n serializedName: \"target\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n },\n innerError: {\n serializedName: \"innererror\",\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n }\n};\n\nexport const SendReadReceiptRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SendReadReceiptRequest\",\n modelProperties: {\n chatMessageId: {\n serializedName: \"chatMessageId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SendChatMessageRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SendChatMessageRequest\",\n modelProperties: {\n content: {\n serializedName: \"content\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n senderDisplayName: {\n serializedName: \"senderDisplayName\",\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"text\",\n \"html\",\n \"topicUpdated\",\n \"participantAdded\",\n \"participantRemoved\"\n ]\n }\n },\n metadata: {\n serializedName: \"metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const SendChatMessageResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SendChatMessageResult\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ChatMessagesCollection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessagesCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatMessage\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ChatMessage: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessage\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\n \"text\",\n \"html\",\n \"topicUpdated\",\n \"participantAdded\",\n \"participantRemoved\"\n ]\n }\n },\n sequenceId: {\n serializedName: \"sequenceId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n version: {\n serializedName: \"version\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n content: {\n serializedName: \"content\",\n type: {\n name: \"Composite\",\n className: \"ChatMessageContent\"\n }\n },\n senderDisplayName: {\n serializedName: \"senderDisplayName\",\n type: {\n name: \"String\"\n }\n },\n createdOn: {\n serializedName: \"createdOn\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n },\n senderCommunicationIdentifier: {\n serializedName: \"senderCommunicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n },\n deletedOn: {\n serializedName: \"deletedOn\",\n type: {\n name: \"DateTime\"\n }\n },\n editedOn: {\n serializedName: \"editedOn\",\n type: {\n name: \"DateTime\"\n }\n },\n metadata: {\n serializedName: \"metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const ChatMessageContent: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatMessageContent\",\n modelProperties: {\n message: {\n serializedName: \"message\",\n type: {\n name: \"String\"\n }\n },\n topic: {\n serializedName: \"topic\",\n type: {\n name: \"String\"\n }\n },\n participants: {\n serializedName: \"participants\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\"\n }\n }\n }\n },\n initiatorCommunicationIdentifier: {\n serializedName: \"initiatorCommunicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n }\n }\n }\n};\n\nexport const ChatParticipant: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\",\n modelProperties: {\n communicationIdentifier: {\n serializedName: \"communicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n },\n displayName: {\n serializedName: \"displayName\",\n type: {\n name: \"String\"\n }\n },\n shareHistoryTime: {\n serializedName: \"shareHistoryTime\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const UpdateChatMessageRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"UpdateChatMessageRequest\",\n modelProperties: {\n content: {\n serializedName: \"content\",\n type: {\n name: \"String\"\n }\n },\n metadata: {\n serializedName: \"metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const ChatParticipantsCollection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatParticipantsCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AddChatParticipantsRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AddChatParticipantsRequest\",\n modelProperties: {\n participants: {\n serializedName: \"participants\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const AddChatParticipantsResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AddChatParticipantsResult\",\n modelProperties: {\n invalidParticipants: {\n serializedName: \"invalidParticipants\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const CreateChatThreadRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CreateChatThreadRequest\",\n modelProperties: {\n topic: {\n serializedName: \"topic\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n participants: {\n serializedName: \"participants\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatParticipant\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const CreateChatThreadResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CreateChatThreadResult\",\n modelProperties: {\n chatThread: {\n serializedName: \"chatThread\",\n type: {\n name: \"Composite\",\n className: \"ChatThreadProperties\"\n }\n },\n invalidParticipants: {\n serializedName: \"invalidParticipants\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatError\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ChatThreadProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatThreadProperties\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n topic: {\n serializedName: \"topic\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n createdOn: {\n serializedName: \"createdOn\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n },\n createdByCommunicationIdentifier: {\n serializedName: \"createdByCommunicationIdentifier\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentifierModel\"\n }\n },\n deletedOn: {\n serializedName: \"deletedOn\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const ChatThreadsItemCollection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatThreadsItemCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ChatThreadItem\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ChatThreadItem: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChatThreadItem\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n topic: {\n serializedName: \"topic\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n deletedOn: {\n serializedName: \"deletedOn\",\n type: {\n name: \"DateTime\"\n }\n },\n lastMessageReceivedOn: {\n serializedName: \"lastMessageReceivedOn\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const UpdateChatThreadRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"UpdateChatThreadRequest\",\n modelProperties: {\n topic: {\n serializedName: \"topic\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SendTypingNotificationRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SendTypingNotificationRequest\",\n modelProperties: {\n senderDisplayName: {\n serializedName: \"senderDisplayName\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../../../../src/generated/src/models/parameters.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EACL,sBAAsB,IAAI,4BAA4B,EACtD,sBAAsB,IAAI,4BAA4B,EACtD,wBAAwB,IAAI,8BAA8B,EAC1D,4BAA4B,IAAI,kCAAkC,EAClE,0BAA0B,IAAI,gCAAgC,EAC9D,uBAAuB,IAAI,6BAA6B,EACxD,6BAA6B,IAAI,mCAAmC,EACpE,uBAAuB,IAAI,6BAA6B,EACzD,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,MAAM,MAAM,GAAuB;IACxC,aAAa,EAAE,QAAQ;IACvB,MAAM,EAAE;QACN,YAAY,EAAE,kBAAkB;QAChC,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,QAAQ;QACxB,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAA0B;IAC7C,aAAa,EAAE,UAAU;IACzB,MAAM,EAAE;QACN,cAAc,EAAE,UAAU;QAC1B,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;IACD,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAA0B;IACjD,aAAa,EAAE,cAAc;IAC7B,MAAM,EAAE;QACN,cAAc,EAAE,cAAc;QAC9B,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAA4B;IAClD,aAAa,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;IACzC,MAAM,EAAE;QACN,cAAc,EAAE,aAAa;QAC7B,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAA4B;IAC3C,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAClC,MAAM,EAAE;QACN,cAAc,EAAE,MAAM;QACtB,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAA4B;IACjD,aAAa,EAAE,YAAY;IAC3B,MAAM,EAAE;QACN,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../../../../src/generated/src/models/parameters.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n SendReadReceiptRequest as SendReadReceiptRequestMapper,\n SendChatMessageRequest as SendChatMessageRequestMapper,\n UpdateChatMessageRequest as UpdateChatMessageRequestMapper,\n CommunicationIdentifierModel as CommunicationIdentifierModelMapper,\n AddChatParticipantsRequest as AddChatParticipantsRequestMapper,\n UpdateChatThreadRequest as UpdateChatThreadRequestMapper,\n SendTypingNotificationRequest as SendTypingNotificationRequestMapper,\n CreateChatThreadRequest as CreateChatThreadRequestMapper\n} from \"../models/mappers\";\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const endpoint: OperationURLParameter = {\n parameterPath: \"endpoint\",\n mapper: {\n serializedName: \"endpoint\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const chatThreadId: OperationURLParameter = {\n parameterPath: \"chatThreadId\",\n mapper: {\n serializedName: \"chatThreadId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const maxPageSize: OperationQueryParameter = {\n parameterPath: [\"options\", \"maxPageSize\"],\n mapper: {\n serializedName: \"maxPageSize\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const skip: OperationQueryParameter = {\n parameterPath: [\"options\", \"skip\"],\n mapper: {\n serializedName: \"skip\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2021-09-07\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const sendReadReceiptRequest: OperationParameter = {\n parameterPath: \"sendReadReceiptRequest\",\n mapper: SendReadReceiptRequestMapper\n};\n\nexport const sendChatMessageRequest: OperationParameter = {\n parameterPath: \"sendChatMessageRequest\",\n mapper: SendChatMessageRequestMapper\n};\n\nexport const startTime: OperationQueryParameter = {\n parameterPath: [\"options\", \"startTime\"],\n mapper: {\n serializedName: \"startTime\",\n type: {\n name: \"DateTime\"\n }\n }\n};\n\nexport const chatMessageId: OperationURLParameter = {\n parameterPath: \"chatMessageId\",\n mapper: {\n serializedName: \"chatMessageId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType1: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/merge-patch+json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const updateChatMessageRequest: OperationParameter = {\n parameterPath: \"updateChatMessageRequest\",\n mapper: UpdateChatMessageRequestMapper\n};\n\nexport const participantCommunicationIdentifier: OperationParameter = {\n parameterPath: \"participantCommunicationIdentifier\",\n mapper: CommunicationIdentifierModelMapper\n};\n\nexport const addChatParticipantsRequest: OperationParameter = {\n parameterPath: \"addChatParticipantsRequest\",\n mapper: AddChatParticipantsRequestMapper\n};\n\nexport const updateChatThreadRequest: OperationParameter = {\n parameterPath: \"updateChatThreadRequest\",\n mapper: UpdateChatThreadRequestMapper\n};\n\nexport const sendTypingNotificationRequest: OperationParameter = {\n parameterPath: [\"options\", \"sendTypingNotificationRequest\"],\n mapper: SendTypingNotificationRequestMapper\n};\n\nexport const nextLink: OperationURLParameter = {\n parameterPath: \"nextLink\",\n mapper: {\n serializedName: \"nextLink\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const createChatThreadRequest: OperationParameter = {\n parameterPath: \"createChatThreadRequest\",\n mapper: CreateChatThreadRequestMapper\n};\n\nexport const repeatabilityRequestId: OperationParameter = {\n parameterPath: [\"options\", \"repeatabilityRequestId\"],\n mapper: {\n serializedName: \"repeatability-request-id\",\n type: {\n name: \"String\"\n }\n }\n};\n"]}
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
* Code generated by Microsoft (R) AutoRest Code Generator.
|
|
6
6
|
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
|
7
7
|
*/
|
|
8
|
-
import * as
|
|
8
|
+
import * as coreClient from "@azure/core-client";
|
|
9
9
|
import * as Mappers from "../models/mappers";
|
|
10
10
|
import * as Parameters from "../models/parameters";
|
|
11
|
-
/** Class
|
|
12
|
-
export class
|
|
11
|
+
/** Class containing Chat operations. */
|
|
12
|
+
export class ChatImpl {
|
|
13
13
|
/**
|
|
14
14
|
* Initialize a new instance of the class Chat class.
|
|
15
15
|
* @param client Reference to the service client
|
|
@@ -23,21 +23,14 @@ export class Chat {
|
|
|
23
23
|
* @param options The options parameters.
|
|
24
24
|
*/
|
|
25
25
|
createChatThread(createChatThreadRequest, options) {
|
|
26
|
-
|
|
27
|
-
createChatThreadRequest,
|
|
28
|
-
options: coreHttp.operationOptionsToRequestOptionsBase(options || {})
|
|
29
|
-
};
|
|
30
|
-
return this.client.sendOperationRequest(operationArguments, createChatThreadOperationSpec);
|
|
26
|
+
return this.client.sendOperationRequest({ createChatThreadRequest, options }, createChatThreadOperationSpec);
|
|
31
27
|
}
|
|
32
28
|
/**
|
|
33
29
|
* Gets the list of chat threads of a user.
|
|
34
30
|
* @param options The options parameters.
|
|
35
31
|
*/
|
|
36
32
|
listChatThreads(options) {
|
|
37
|
-
|
|
38
|
-
options: coreHttp.operationOptionsToRequestOptionsBase(options || {})
|
|
39
|
-
};
|
|
40
|
-
return this.client.sendOperationRequest(operationArguments, listChatThreadsOperationSpec);
|
|
33
|
+
return this.client.sendOperationRequest({ options }, listChatThreadsOperationSpec);
|
|
41
34
|
}
|
|
42
35
|
/**
|
|
43
36
|
* Deletes a thread.
|
|
@@ -45,11 +38,7 @@ export class Chat {
|
|
|
45
38
|
* @param options The options parameters.
|
|
46
39
|
*/
|
|
47
40
|
deleteChatThread(chatThreadId, options) {
|
|
48
|
-
|
|
49
|
-
chatThreadId,
|
|
50
|
-
options: coreHttp.operationOptionsToRequestOptionsBase(options || {})
|
|
51
|
-
};
|
|
52
|
-
return this.client.sendOperationRequest(operationArguments, deleteChatThreadOperationSpec);
|
|
41
|
+
return this.client.sendOperationRequest({ chatThreadId, options }, deleteChatThreadOperationSpec);
|
|
53
42
|
}
|
|
54
43
|
/**
|
|
55
44
|
* ListChatThreadsNext
|
|
@@ -57,15 +46,11 @@ export class Chat {
|
|
|
57
46
|
* @param options The options parameters.
|
|
58
47
|
*/
|
|
59
48
|
listChatThreadsNext(nextLink, options) {
|
|
60
|
-
|
|
61
|
-
nextLink,
|
|
62
|
-
options: coreHttp.operationOptionsToRequestOptionsBase(options || {})
|
|
63
|
-
};
|
|
64
|
-
return this.client.sendOperationRequest(operationArguments, listChatThreadsNextOperationSpec);
|
|
49
|
+
return this.client.sendOperationRequest({ nextLink, options }, listChatThreadsNextOperationSpec);
|
|
65
50
|
}
|
|
66
51
|
}
|
|
67
52
|
// Operation Specifications
|
|
68
|
-
const serializer =
|
|
53
|
+
const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
|
|
69
54
|
const createChatThreadOperationSpec = {
|
|
70
55
|
path: "/chat/threads",
|
|
71
56
|
httpMethod: "POST",
|