microsoft/teams.net

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
next/core

Branches

Tags

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

Clone

HTTPS

Download ZIP

Libraries/Microsoft.Teams.Apps/Activities/Invokes/SignIn/VerifyStateAcitivity.cs

106lines · 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 VerifyStateAttribute() : InvokeAttribute(Api.Activities.Invokes.Name.SignIn.VerifyState, typeof(SignIn.VerifyStateActivity))
12{
13 public override object Coerce(IContext<IActivity> context) => context.ToActivityType<SignIn.VerifyStateActivity>();
14}
15
16public static partial class AppInvokeActivityExtensions
17{
18 [Obsolete("Use the handler with the cancellation token")]
19 public static App OnVerifyState(this App app, Func<IContext<SignIn.VerifyStateActivity>, Task> handler)
20 {
21 app.Router.Register(new Route()
22 {
23 Name = string.Join("/", [ActivityType.Invoke, Name.SignIn.VerifyState]),
24 Type = app.Status is null ? RouteType.System : RouteType.User,
25 Handler = async context =>
26 {
27 await handler(context.ToActivityType<SignIn.VerifyStateActivity>());
28 return null;
29 },
30 Selector = activity => activity is SignIn.VerifyStateActivity
31 });
32
33 return app;
34 }
35
36 [Obsolete("Use the handler with the cancellation token")]
37 public static App OnVerifyState(this App app, Func<IContext<SignIn.VerifyStateActivity>, Task<object?>> handler)
38 {
39 app.Router.Register(new Route()
40 {
41 Name = string.Join("/", [ActivityType.Invoke, Name.SignIn.VerifyState]),
42 Type = app.Status is null ? RouteType.System : RouteType.User,
43 Handler = context => handler(context.ToActivityType<SignIn.VerifyStateActivity>()),
44 Selector = activity => activity is SignIn.VerifyStateActivity
45 });
46
47 return app;
48 }
49
50 [Obsolete("Use the handler with the cancellation token")]
51 public static App OnVerifyState(this App app, Func<IContext<SignIn.VerifyStateActivity>, Task<Response?>> handler)
52 {
53 app.Router.Register(new Route()
54 {
55 Name = string.Join("/", [ActivityType.Invoke, Name.SignIn.VerifyState]),
56 Type = app.Status is null ? RouteType.System : RouteType.User,
57 Handler = async context => await handler(context.ToActivityType<SignIn.VerifyStateActivity>()),
58 Selector = activity => activity is SignIn.VerifyStateActivity
59 });
60
61 return app;
62 }
63
64 public static App OnVerifyState(this App app, Func<IContext<SignIn.VerifyStateActivity>, CancellationToken, Task> handler)
65 {
66 app.Router.Register(new Route()
67 {
68 Name = string.Join("/", [ActivityType.Invoke, Name.SignIn.VerifyState]),
69 Type = app.Status is null ? RouteType.System : RouteType.User,
70 Handler = async context =>
71 {
72 await handler(context.ToActivityType<SignIn.VerifyStateActivity>(), context.CancellationToken);
73 return null;
74 },
75 Selector = activity => activity is SignIn.VerifyStateActivity
76 });
77
78 return app;
79 }
80
81 public static App OnVerifyState(this App app, Func<IContext<SignIn.VerifyStateActivity>, CancellationToken, Task<object?>> handler)
82 {
83 app.Router.Register(new Route()
84 {
85 Name = string.Join("/", [ActivityType.Invoke, Name.SignIn.VerifyState]),
86 Type = app.Status is null ? RouteType.System : RouteType.User,
87 Handler = context => handler(context.ToActivityType<SignIn.VerifyStateActivity>(), context.CancellationToken),
88 Selector = activity => activity is SignIn.VerifyStateActivity
89 });
90
91 return app;
92 }
93
94 public static App OnVerifyState(this App app, Func<IContext<SignIn.VerifyStateActivity>, CancellationToken, Task<Response?>> handler)
95 {
96 app.Router.Register(new Route()
97 {
98 Name = string.Join("/", [ActivityType.Invoke, Name.SignIn.VerifyState]),
99 Type = app.Status is null ? RouteType.System : RouteType.User,
100 Handler = async context => await handler(context.ToActivityType<SignIn.VerifyStateActivity>(), context.CancellationToken),
101 Selector = activity => activity is SignIn.VerifyStateActivity
102 });
103
104 return app;
105 }
106}