Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,20 @@ namespace Slackbot.Net.Endpoints.Middlewares;
internal class AppHomeOpenedEvents(
RequestDelegate next,
ILogger<AppHomeOpenedEvents> logger,
IEnumerable<IHandleAppHomeOpened> responseHandlers)
IEnumerable<IHandleAppHomeOpened> responseHandlers
)
{
public async Task Invoke(HttpContext context)
{
var appHomeOpenedEvent = (AppHomeOpenedEvent)context.Items[HttpItemKeys.SlackEventKey];
var metadata = (EventMetaData)context.Items[HttpItemKeys.EventMetadataKey];
var handler = responseHandlers.FirstOrDefault();

if (handler == null)
if (responseHandlers == null || !responseHandlers.Any())
{
logger.LogError("No handler registered for IHandleAppHomeOpened");
return;
}
else
foreach (var handler in responseHandlers)
{
logger.LogInformation($"Handling using {handler.GetType()}");
try
Expand All @@ -35,12 +36,12 @@ public async Task Invoke(HttpContext context)
}
}

await next(context);
context.Response.StatusCode = 200;
}

public static bool ShouldRun(HttpContext ctx)
{
return ctx.Items.ContainsKey(HttpItemKeys.EventTypeKey) &&
ctx.Items[HttpItemKeys.EventTypeKey].ToString() == EventTypes.AppHomeOpened;
return ctx.Items.ContainsKey(HttpItemKeys.EventTypeKey)
&& ctx.Items[HttpItemKeys.EventTypeKey].ToString() == EventTypes.AppHomeOpened;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,12 @@ public async Task Invoke(HttpContext context)
{
var emojiChanged = (EmojiChangedEvent)context.Items[HttpItemKeys.SlackEventKey];
var metadata = (EventMetaData)context.Items[HttpItemKeys.EventMetadataKey];
var handler = responseHandlers.FirstOrDefault();

if (handler == null)
if (responseHandlers == null || !responseHandlers.Any())
{
logger.LogError("No handler registered for IHandleEmojiChanged");
}
else
foreach (var handler in responseHandlers)
{
logger.LogInformation("Handling using {HandlerType}", handler.GetType());
try
Expand All @@ -42,6 +41,6 @@ public async Task Invoke(HttpContext context)
public static bool ShouldRun(HttpContext ctx)
{
return ctx.Items.ContainsKey(HttpItemKeys.EventTypeKey)
&& ctx.Items[HttpItemKeys.EventTypeKey].ToString() == EventTypes.EmojiChanged;
&& ctx.Items[HttpItemKeys.EventTypeKey].ToString() == EventTypes.EmojiChanged;
}
}
41 changes: 18 additions & 23 deletions source/src/Slackbot.Net.Endpoints/Middlewares/MemberJoinedEvents.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,42 +5,37 @@

namespace Slackbot.Net.Endpoints.Middlewares;

internal class MemberJoinedEvents
internal class MemberJoinedEvents(
RequestDelegate next,
ILogger<MemberJoinedEvents> logger,
IEnumerable<IHandleMemberJoinedChannel> responseHandlers
)
{
private readonly ILogger<MemberJoinedEvents> _logger;
private readonly RequestDelegate _next;
private readonly IEnumerable<IHandleMemberJoinedChannel> _responseHandlers;

public MemberJoinedEvents(RequestDelegate next, ILogger<MemberJoinedEvents> logger,
IEnumerable<IHandleMemberJoinedChannel> responseHandlers, ILoggerFactory loggerFactory)
{
_next = next;
_logger = logger;
_responseHandlers = responseHandlers;
}
private readonly RequestDelegate _next = next;

public async Task Invoke(HttpContext context)
{
var memberJoinedChannelEvent = (MemberJoinedChannelEvent)context.Items[HttpItemKeys.SlackEventKey];
var memberJoinedChannelEvent = (MemberJoinedChannelEvent)
context.Items[HttpItemKeys.SlackEventKey];
var metadata = (EventMetaData)context.Items[HttpItemKeys.EventMetadataKey];
var handler = _responseHandlers.FirstOrDefault();

if (handler == null)
if (responseHandlers == null)
{
_logger.LogError("No handler registered for IHandleMemberJoinedChannelEvents");
logger.LogError("No handler registered for IHandleMemberJoinedChannelEvents");
return;
}
else
foreach (var handler in responseHandlers)
{
_logger.LogInformation($"Handling using {handler.GetType()}");
logger.LogInformation($"Handling using {handler.GetType()}");
try
{
_logger.LogInformation($"Handling using {handler.GetType()}");
logger.LogInformation($"Handling using {handler.GetType()}");
var response = await handler.Handle(metadata, memberJoinedChannelEvent);
_logger.LogInformation(response.Response);
logger.LogInformation(response.Response);
}
catch (Exception e)
{
_logger.LogError(e, e.Message);
logger.LogError(e, e.Message);
}
}

Expand All @@ -49,7 +44,7 @@ public async Task Invoke(HttpContext context)

public static bool ShouldRun(HttpContext ctx)
{
return ctx.Items.ContainsKey(HttpItemKeys.EventTypeKey) &&
ctx.Items[HttpItemKeys.EventTypeKey].ToString() == EventTypes.MemberJoinedChannel;
return ctx.Items.ContainsKey(HttpItemKeys.EventTypeKey)
&& ctx.Items[HttpItemKeys.EventTypeKey].ToString() == EventTypes.MemberJoinedChannel;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,12 @@ public async Task Invoke(HttpContext context)
{
var messageEvent = (MessageEvent)context.Items[HttpItemKeys.SlackEventKey];
var metadata = (EventMetaData)context.Items[HttpItemKeys.EventMetadataKey];
var handler = responseHandlers.FirstOrDefault();

if (handler == null)
if (responseHandlers == null || !responseHandlers.Any())
{
logger.LogError("No handler registered for IHandleMessage");
}
else
foreach (var handler in responseHandlers)
{
logger.LogInformation("Handling using {HandlerType}", handler.GetType());
try
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,12 @@ public async Task Invoke(HttpContext context)
{
var teamJoinEvent = (TeamJoinEvent)context.Items[HttpItemKeys.SlackEventKey];
var metadata = (EventMetaData)context.Items[HttpItemKeys.EventMetadataKey];
var handler = responseHandlers.FirstOrDefault();

if (handler == null)
if (responseHandlers == null || !responseHandlers.Any())
{
logger.LogError("No handler registered for IHandleTeamJoinEvents");
}
else
foreach (var handler in responseHandlers)
{
logger.LogInformation("Handling using {HandlerType}", handler.GetType());
try
Expand Down
3 changes: 2 additions & 1 deletion source/src/Slackbot.Net.Endpoints/Models/Interactive/User.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@ namespace Slackbot.Net.Endpoints.Models.Interactive;

public class User
{
[JsonPropertyName("user_id")] public string User_Id { get; set; }
[JsonPropertyName("id")]
public string User_Id { get; set; }
}