microsoft/teams.net

Public

mirrored fromhttps://github.com/microsoft/teams.netAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
samples/migration-bot

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

Libraries/Microsoft.Teams.Api/Clients/MemberClient.cs

54lines · modecode

1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the MIT License.
3
4using Microsoft.Teams.Common.Http;
5
6namespace Microsoft.Teams.Api.Clients;
7
8public class MemberClient : Client
9{
10 public readonly string ServiceUrl;
11
12 public MemberClient(string serviceUrl, CancellationToken cancellationToken = default) : base(cancellationToken)
13 {
14 ServiceUrl = serviceUrl;
15 }
16
17 public MemberClient(string serviceUrl, IHttpClient client, CancellationToken cancellationToken = default) : base(client, cancellationToken)
18 {
19 ServiceUrl = serviceUrl;
20 }
21
22 public MemberClient(string serviceUrl, IHttpClientOptions options, CancellationToken cancellationToken = default) : base(options, cancellationToken)
23 {
24 ServiceUrl = serviceUrl;
25 }
26
27 public MemberClient(string serviceUrl, IHttpClientFactory factory, CancellationToken cancellationToken = default) : base(factory, cancellationToken)
28 {
29 ServiceUrl = serviceUrl;
30 }
31
32 public async Task<List<Account>> GetAsync(string conversationId, CancellationToken cancellationToken = default)
33 {
34 var token = cancellationToken != default ? cancellationToken : _cancellationToken;
35 var request = HttpRequest.Get($"{ServiceUrl}v3/conversations/{conversationId}/members");
36 var response = await _http.SendAsync<List<Account>>(request, token);
37 return response.Body;
38 }
39
40 public async Task<Account> GetByIdAsync(string conversationId, string memberId, CancellationToken cancellationToken = default)
41 {
42 var token = cancellationToken != default ? cancellationToken : _cancellationToken;
43 var request = HttpRequest.Get($"{ServiceUrl}v3/conversations/{conversationId}/members/{memberId}");
44 var response = await _http.SendAsync<Account>(request, token);
45 return response.Body;
46 }
47
48 public async Task DeleteAsync(string conversationId, string memberId, CancellationToken cancellationToken = default)
49 {
50 var token = cancellationToken != default ? cancellationToken : _cancellationToken;
51 var request = HttpRequest.Delete($"{ServiceUrl}v3/conversations/{conversationId}/members/{memberId}");
52 await _http.SendAsync(request, token);
53 }
54}