// 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; }
}