Skip to content
This repository has been archived by the owner on Jul 7, 2022. It is now read-only.

Commit

Permalink
Mar 2339 Pre-fill seller form using ABN (#29)
Browse files Browse the repository at this point in the history
* adding the case of abr_failed

* adding message

* successfull added abr failed message

* changing the message

* removing console writeline

* same message as before

* Update subscribers/slack/worker/Processors/UserMessageProcessor.cs

Co-authored-by: tobiasbrown <[email protected]>

* cleaning up variable names

* changing abr variable names

* Update subscribers/slack/worker/Processors/UserMessageProcessor.cs

Co-authored-by: tobiasbrown <[email protected]>

* Update subscribers/slack/worker/Processors/UserMessageProcessor.cs

Co-authored-by: tobiasbrown <[email protected]>

* adding abr message processor

* Remove old abr

* remove message from slack

* adding mesage for error

* removing abr object in slack message processor

* change name to abr

* added fix

Co-authored-by: tobiasbrown <[email protected]>
  • Loading branch information
resh-ie and tobiasbrown authored Mar 4, 2021
1 parent 1880ada commit ac7ec69
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 1 deletion.
1 change: 1 addition & 0 deletions subscribers/slack/worker/AppConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ public class AppConfig {
public string AwsSqsAccessKeyId { get; set; }
public string AwsSqsSecretAccessKey { get; set; }
public int AwsSqsLongPollTimeInSeconds { get; set; } = 20;
public string AbrSlackUrl { get; set; }
public string AgencySlackUrl { get; set; }
public string SupplierSlackUrl { get; set; }
public string BuyerSlackUrl { get; set; }
Expand Down
3 changes: 3 additions & 0 deletions subscribers/slack/worker/Model/VcapServices.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,9 @@ public partial class UserProvided {
}

public partial class Credentials {
[JsonProperty("ABR_SLACK_URL")]
public string AbrSlackUrl { get; set; }

[JsonProperty("AWS_SQS_ACCESS_KEY_ID")]
public string AwsSqsAccessKeyId { get; set; }

Expand Down
37 changes: 37 additions & 0 deletions subscribers/slack/worker/Processors/AbrMessageProcessor.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
using System;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Dta.Marketplace.Subscribers.Slack.Worker.Model;
using Dta.Marketplace.Subscribers.Slack.Worker.Services;

namespace Dta.Marketplace.Subscribers.Slack.Worker.Processors {
internal class AbrMessageProcessor : AbstractMessageProcessor {
private readonly ISlackService _slackService;

public AbrMessageProcessor(ILogger<AppService> logger, IOptions<AppConfig> config, ISlackService slackService) : base(logger, config) {
_slackService = slackService;
}

public async override Task<bool> Process(AwsSnsMessage awsSnsMessage) {
switch (awsSnsMessage.MessageAttributes.EventType.Value) {
case "abr_failed":
var definition = new {
error = ""
};
var message = JsonConvert.DeserializeAnonymousType(awsSnsMessage.Message, definition);
var slackMessage =
$@":imp:*ABR API failed*:imp:
Error: {message.error}";

return await _slackService.SendSlackMessage(_config.Value.AbrSlackUrl, slackMessage);

default:
_logger.LogDebug("Unknown processor for {@AwsSnsMessage}.", awsSnsMessage);
break;
}
return true;
}
}
}
6 changes: 5 additions & 1 deletion subscribers/slack/worker/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ public static async Task Main(string[] args) {
if (string.IsNullOrWhiteSpace(awsSqsRegion) == false) {
ac.AwsSqsRegion = awsSqsRegion;
}
ac.AbrSlackUrl = Environment.GetEnvironmentVariable("ABR_SLACK_URL");
ac.AwsSqsSecretAccessKey = Environment.GetEnvironmentVariable("AWS_SQS_SECRET_ACCESS_KEY");
ac.AgencySlackUrl = Environment.GetEnvironmentVariable("AGENCY_SLACK_URL");
ac.BuyerSlackUrl = Environment.GetEnvironmentVariable("BUYER_SLACK_URL");
Expand Down Expand Up @@ -76,6 +77,7 @@ public static async Task Main(string[] args) {
ac.AwsSqsRegion = credentials.AwsSqsRegion;
}
ac.AwsSqsSecretAccessKey = credentials.AwsSqsSecretAccessKey;
ac.AbrSlackUrl = credentials.AbrSlackUrl;
ac.AgencySlackUrl = credentials.AgencySlackUrl;
ac.BuyerSlackUrl = credentials.BuyerSlackUrl;
ac.SupplierSlackUrl = credentials.SupplierSlackUrl;
Expand All @@ -97,7 +99,7 @@ public static async Task Main(string[] args) {
});

services.AddSingleton<IHostedService, AppService>();

services.AddTransient<AbrMessageProcessor>();
services.AddTransient<AgencyMessageProcessor>();
services.AddTransient<ApplicationMessageProcessor>();
services.AddTransient<BriefMessageProcessor>();
Expand All @@ -107,6 +109,8 @@ public static async Task Main(string[] args) {
services.AddTransient<ISlackService, SlackService>();
services.AddTransient<Func<string, IMessageProcessor>>(sp => key => {
switch (key) {
case "abr":
return sp.GetService<AbrMessageProcessor>();
case "agency":
return sp.GetService<AgencyMessageProcessor>();
case "application":
Expand Down

0 comments on commit ac7ec69

Please sign in to comment.