microsoft/teams.net

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
v2.0.8

Branches

Tags

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

Clone

HTTPS

Download ZIP

Libraries/Microsoft.Teams.Apps/Activities/Invokes/MessageExtensions/FetchTaskActivity.cs

109lines · modeblame

82a4e3c3Rajan12 months ago1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the MIT License.
3
f7bcc4b0Alex Acebo1 years ago4using Microsoft.Teams.Api.Activities;
5using Microsoft.Teams.Api.Activities.Invokes;
6using Microsoft.Teams.Apps.Routing;
7
8namespace Microsoft.Teams.Apps.Activities.Invokes;
9
10public static partial class MessageExtension
11{
12[AttributeUsage(AttributeTargets.Method, Inherited = true)]
13public class FetchTaskAttribute() : InvokeAttribute(Api.Activities.Invokes.Name.MessageExtensions.FetchTask, typeof(MessageExtensions.FetchTaskActivity))
14{
15public override object Coerce(IContext<IActivity> context) => context.ToActivityType<MessageExtensions.FetchTaskActivity>();
16}
17}
18
19public static partial class AppInvokeActivityExtensions
20{
ad6b9585Rido2 months ago21[Obsolete("Use the handler with the cancellation token")]
5a1c7318Alex Acebo1 years ago22public static App OnFetchTask(this App app, Func<IContext<MessageExtensions.FetchTaskActivity>, Task> handler)
f7bcc4b0Alex Acebo1 years ago23{
24app.Router.Register(new Route()
25{
fb2fb20cAlex Acebo9 months ago26Name = string.Join("/", [ActivityType.Invoke, Name.MessageExtensions.FetchTask]),
27Type = app.Status is null ? RouteType.System : RouteType.User,
5a1c7318Alex Acebo1 years ago28Handler = async context =>
29{
b549bc23Kavin3 weeks ago30await handler(context.ToActivityType<MessageExtensions.FetchTaskActivity>()).ConfigureAwait(false);
5a1c7318Alex Acebo1 years ago31return null;
32},
33Selector = activity => activity is MessageExtensions.FetchTaskActivity
34});
35
36return app;
37}
38
ad6b9585Rido2 months ago39[Obsolete("Use the handler with the cancellation token")]
5a1c7318Alex Acebo1 years ago40public static App OnFetchTask(this App app, Func<IContext<MessageExtensions.FetchTaskActivity>, Task<Response<Api.MessageExtensions.ActionResponse>>> handler)
41{
42app.Router.Register(new Route()
43{
fb2fb20cAlex Acebo9 months ago44Name = string.Join("/", [ActivityType.Invoke, Name.MessageExtensions.FetchTask]),
45Type = app.Status is null ? RouteType.System : RouteType.User,
b549bc23Kavin3 weeks ago46Handler = async context => await handler(context.ToActivityType<MessageExtensions.FetchTaskActivity>()).ConfigureAwait(false),
5a1c7318Alex Acebo1 years ago47Selector = activity => activity is MessageExtensions.FetchTaskActivity
48});
49
50return app;
51}
52
ad6b9585Rido2 months ago53[Obsolete("Use the handler with the cancellation token")]
5a1c7318Alex Acebo1 years ago54public static App OnFetchTask(this App app, Func<IContext<MessageExtensions.FetchTaskActivity>, Task<Api.MessageExtensions.ActionResponse>> handler)
55{
56app.Router.Register(new Route()
57{
fb2fb20cAlex Acebo9 months ago58Name = string.Join("/", [ActivityType.Invoke, Name.MessageExtensions.FetchTask]),
59Type = app.Status is null ? RouteType.System : RouteType.User,
b549bc23Kavin3 weeks ago60Handler = async context => await handler(context.ToActivityType<MessageExtensions.FetchTaskActivity>()).ConfigureAwait(false),
f7bcc4b0Alex Acebo1 years ago61Selector = activity => activity is MessageExtensions.FetchTaskActivity
62});
63
64return app;
65}
2a3ae203Rido4 months ago66
67public static App OnFetchTask(this App app, Func<IContext<MessageExtensions.FetchTaskActivity>, CancellationToken, Task> handler)
68{
69app.Router.Register(new Route()
70{
71Name = string.Join("/", [ActivityType.Invoke, Name.MessageExtensions.FetchTask]),
72Type = app.Status is null ? RouteType.System : RouteType.User,
73Handler = async context =>
74{
b549bc23Kavin3 weeks ago75await handler(context.ToActivityType<MessageExtensions.FetchTaskActivity>(), context.CancellationToken).ConfigureAwait(false);
2a3ae203Rido4 months ago76return null;
77},
78Selector = activity => activity is MessageExtensions.FetchTaskActivity
79});
80
81return app;
82}
83
84public static App OnFetchTask(this App app, Func<IContext<MessageExtensions.FetchTaskActivity>, CancellationToken, Task<Response<Api.MessageExtensions.ActionResponse>>> handler)
85{
86app.Router.Register(new Route()
87{
88Name = string.Join("/", [ActivityType.Invoke, Name.MessageExtensions.FetchTask]),
89Type = app.Status is null ? RouteType.System : RouteType.User,
b549bc23Kavin3 weeks ago90Handler = async context => await handler(context.ToActivityType<MessageExtensions.FetchTaskActivity>(), context.CancellationToken).ConfigureAwait(false),
2a3ae203Rido4 months ago91Selector = activity => activity is MessageExtensions.FetchTaskActivity
92});
93
94return app;
95}
96
97public static App OnFetchTask(this App app, Func<IContext<MessageExtensions.FetchTaskActivity>, CancellationToken, Task<Api.MessageExtensions.ActionResponse>> handler)
98{
99app.Router.Register(new Route()
100{
101Name = string.Join("/", [ActivityType.Invoke, Name.MessageExtensions.FetchTask]),
102Type = app.Status is null ? RouteType.System : RouteType.User,
b549bc23Kavin3 weeks ago103Handler = async context => await handler(context.ToActivityType<MessageExtensions.FetchTaskActivity>(), context.CancellationToken).ConfigureAwait(false),
2a3ae203Rido4 months ago104Selector = activity => activity is MessageExtensions.FetchTaskActivity
105});
106
107return app;
108}
f7bcc4b0Alex Acebo1 years ago109}