// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using Microsoft.Teams.Core.Schema; namespace Microsoft.Teams.Core; /// /// Response from sending an activity. /// public class SendActivityResponse { /// /// Id of the activity /// [JsonPropertyName("id")] public string? Id { get; set; } } /// /// Response from updating an activity. /// public class UpdateActivityResponse { /// /// Id of the activity /// [JsonPropertyName("id")] public string? Id { get; set; } } /// /// Response from deleting an activity. /// public class DeleteActivityResponse { /// /// Id of the activity /// [JsonPropertyName("id")] public string? Id { get; set; } } /// /// Response from getting conversations. /// public class GetConversationsResponse { /// /// Gets or sets the continuation token that can be used to get paged results. /// [JsonPropertyName("continuationToken")] public string? ContinuationToken { get; set; } /// /// Gets or sets the list of conversations. /// [JsonPropertyName("conversations")] public IList? Conversations { get; set; } } /// /// Represents a conversation and its members. /// public class ConversationMembers { /// /// Gets or sets the conversation ID. /// [JsonPropertyName("id")] public string? Id { get; set; } /// /// Gets or sets the list of members in this conversation. /// [JsonPropertyName("members")] public IList? Members { get; set; } } /// /// Parameters for creating a new conversation. /// public class ConversationParameters { /// /// Gets or sets a value indicating whether the conversation is a group conversation. /// [JsonPropertyName("isGroup")] public bool? IsGroup { get; set; } /// /// Gets or sets the bot's account for this conversation. /// [JsonPropertyName("bot")] public ChannelAccount? Bot { get; set; } /// /// Gets or sets the list of members to add to the conversation. /// [JsonPropertyName("members")] public IList? Members { get; set; } /// /// Gets or sets the topic name for the conversation (if supported by the channel). /// [JsonPropertyName("topicName")] public string? TopicName { get; set; } /// /// Gets or sets the initial activity to send when creating the conversation. /// [JsonPropertyName("activity")] public CoreActivity? Activity { get; set; } /// /// Gets or sets channel-specific payload for creating the conversation. /// [JsonPropertyName("channelData")] public object? ChannelData { get; set; } /// /// Gets or sets the tenant ID where the conversation should be created. /// [JsonPropertyName("tenantId")] public string? TenantId { get; set; } } /// /// Response from creating a conversation. /// public class CreateConversationResponse { /// /// Gets or sets the ID of the activity (if sent). /// [JsonPropertyName("activityId")] public string? ActivityId { get; set; } /// /// Gets or sets the service endpoint where operations concerning the conversation may be performed. /// [JsonPropertyName("serviceUrl")] public Uri? ServiceUrl { get; set; } /// /// Gets or sets the identifier of the conversation resource. /// [JsonPropertyName("id")] public string? Id { get; set; } } /// /// Result from getting paged members of a conversation. /// public class PagedMembersResult { /// /// Gets or sets the continuation token that can be used to get paged results. /// [JsonPropertyName("continuationToken")] public string? ContinuationToken { get; set; } /// /// Gets or sets the list of members in this page. /// [JsonPropertyName("members")] public IList? Members { get; set; } } /// /// A collection of activities that represents a conversation transcript. /// public class Transcript { /// /// Gets or sets the collection of activities that conforms to the Transcript schema. /// [JsonPropertyName("activities")] public IList? Activities { get; set; } } /// /// Response from sending conversation history. /// public class SendConversationHistoryResponse { /// /// Gets or sets the ID of the resource. /// [JsonPropertyName("id")] public string? Id { get; set; } } /// /// Represents attachment data for uploading. /// public class AttachmentData { /// /// Gets or sets the Content-Type of the attachment. /// [JsonPropertyName("type")] public string? Type { get; set; } /// /// Gets or sets the name of the attachment. /// [JsonPropertyName("name")] public string? Name { get; set; } /// /// Gets or sets the attachment content as a byte array. /// [JsonPropertyName("originalBase64")] #pragma warning disable CA1819 // Properties should not return arrays public byte[]? OriginalBase64 { get; set; } #pragma warning restore CA1819 // Properties should not return arrays /// /// Gets or sets the attachment thumbnail as a byte array. /// [JsonPropertyName("thumbnailBase64")] #pragma warning disable CA1819 // Properties should not return arrays public byte[]? ThumbnailBase64 { get; set; } #pragma warning restore CA1819 // Properties should not return arrays } /// /// Response from uploading an attachment. /// public class UploadAttachmentResponse { /// /// Gets or sets the ID of the uploaded attachment. /// [JsonPropertyName("id")] public string? Id { get; set; } }