microsoft/teams.net

Public

mirrored from https://github.com/microsoft/teams.netAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
aacebo/smba-token-verify

Branches

Tags

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

Clone

HTTPS

Download ZIP

Libraries/Microsoft.Teams.Apps/Activities/Invokes/FileConsentActivity.cs

43lines · modecode

1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the MIT License.
3
4using Microsoft.Teams.Api.Activities;
5using Microsoft.Teams.Api.Activities.Invokes;
6using Microsoft.Teams.Apps.Routing;
7
8namespace Microsoft.Teams.Apps.Activities.Invokes;
9
10[AttributeUsage(AttributeTargets.Method, Inherited = true)]
11public class FileConsentAttribute() : InvokeAttribute(Api.Activities.Invokes.Name.FileConsent, typeof(FileConsentActivity))
12{
13 public override object Coerce(IContext<IActivity> context) => context.ToActivityType<FileConsentActivity>();
14}
15
16public static partial class AppInvokeActivityExtensions
17{
18 public static App OnFileConsent(this App app, Func<IContext<FileConsentActivity>, Task> handler)
19 {
20 app.Router.Register(new Route()
21 {
22 Handler = async context =>
23 {
24 await handler(context.ToActivityType<FileConsentActivity>());
25 return null;
26 },
27 Selector = activity => activity is FileConsentActivity
28 });
29
30 return app;
31 }
32
33 public static App OnFileConsent(this App app, Func<IContext<FileConsentActivity>, Task<object?>> handler)
34 {
35 app.Router.Register(new Route()
36 {
37 Handler = context => handler(context.ToActivityType<FileConsentActivity>()),
38 Selector = activity => activity is FileConsentActivity
39 });
40
41 return app;
42 }
43}