From 838577af9668ea86b3aee851c68a402314da0e8c Mon Sep 17 00:00:00 2001 From: Malte Date: Wed, 16 Oct 2024 10:08:47 +0200 Subject: [PATCH 1/2] Done --- Images/Commands executed success.png | Bin 0 -> 68440 bytes Images/First command success.png | Bin 0 -> 9537 bytes .../OrderService/Controllers/OrderController.cs | 4 ++-- WorkshopBackend/OrderService/appsettings.json | 2 +- WorkshopBackend/policy.json | 3 +++ 5 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 Images/Commands executed success.png create mode 100644 Images/First command success.png create mode 100644 WorkshopBackend/policy.json diff --git a/Images/Commands executed success.png b/Images/Commands executed success.png new file mode 100644 index 0000000000000000000000000000000000000000..535c8429837c3d66d3d0170625e5be4b9e0efb39 GIT binary patch literal 68440 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 Vp=;Xg*Pb|xZkpXFz5eLg{{qGpgF^rS literal 0 HcmV?d00001 diff --git a/WorkshopBackend/OrderService/Controllers/OrderController.cs b/WorkshopBackend/OrderService/Controllers/OrderController.cs index e49adda..21fd445 100644 --- a/WorkshopBackend/OrderService/Controllers/OrderController.cs +++ b/WorkshopBackend/OrderService/Controllers/OrderController.cs @@ -15,8 +15,8 @@ public class OrderController : ControllerBase private readonly IAmazonSQS _sqs; private readonly IAmazonSimpleNotificationService _sns; private readonly IAmazonEventBridge _eventBridge; - private readonly string _queueUrl = ""; // Format of https://.* - private readonly string _topicArn = ""; // Format of arn:aws.* + private readonly string _queueUrl = "https://sqs.eu-north-1.amazonaws.com/637423341661/MalteStengardOrderQueue"; // Format of https://.* + private readonly string _topicArn = "arn:aws:sns:eu-north-1:637423341661:MalteStengardOrderCreatedTopic"; // Format of arn:aws.* public OrderController() { diff --git a/WorkshopBackend/OrderService/appsettings.json b/WorkshopBackend/OrderService/appsettings.json index 1c233fe..5b3e784 100644 --- a/WorkshopBackend/OrderService/appsettings.json +++ b/WorkshopBackend/OrderService/appsettings.json @@ -1,7 +1,7 @@ { "AWS": { "Profile": "default", - "Region": "us-west-2" + "Region": "eu-north-1" }, "Logging": { "LogLevel": { diff --git a/WorkshopBackend/policy.json b/WorkshopBackend/policy.json new file mode 100644 index 0000000..75324bb --- /dev/null +++ b/WorkshopBackend/policy.json @@ -0,0 +1,3 @@ +{ + "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"*\"},\"Action\":\"SQS:SendMessage\",\"Resource\":\"arn:aws:sqs:eu-north-1:637423341661:MalteStengardOrderQueue\",\"Condition\":{\"ArnEquals\":{\"aws:SourceArn\":\"arn:aws:sns:eu-north-1:637423341661:MalteStengardOrderCreatedTopic\"}}}]}" +} \ No newline at end of file From 5ea2ba914616ce41288d24aec8682571451dd647 Mon Sep 17 00:00:00 2001 From: Malte Date: Thu, 17 Oct 2024 10:40:19 +0200 Subject: [PATCH 2/2] db connectivity and post/get added, works dandy --- .../Controllers/OrderController.cs | 58 +++++++++++++++---- .../OrderService/OrderService.csproj | 1 + 2 files changed, 48 insertions(+), 11 deletions(-) diff --git a/WorkshopBackend/OrderService/Controllers/OrderController.cs b/WorkshopBackend/OrderService/Controllers/OrderController.cs index 21fd445..6a016af 100644 --- a/WorkshopBackend/OrderService/Controllers/OrderController.cs +++ b/WorkshopBackend/OrderService/Controllers/OrderController.cs @@ -7,6 +7,8 @@ using Amazon.EventBridge.Model; using System.Text.Json; using InventoryService.Models; +using Npgsql; +using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; [ApiController] [Route("[controller]")] @@ -17,6 +19,7 @@ public class OrderController : ControllerBase private readonly IAmazonEventBridge _eventBridge; private readonly string _queueUrl = "https://sqs.eu-north-1.amazonaws.com/637423341661/MalteStengardOrderQueue"; // Format of https://.* private readonly string _topicArn = "arn:aws:sns:eu-north-1:637423341661:MalteStengardOrderCreatedTopic"; // Format of arn:aws.* + private readonly string _connectionString = "your database info"; public OrderController() { @@ -24,38 +27,71 @@ public OrderController() _sqs = new AmazonSQSClient(); _sns = new AmazonSimpleNotificationServiceClient(); _eventBridge = new AmazonEventBridgeClient(); + } [HttpGet] public async Task GetOrdersAndProcess() { - /* - * AmazonSQSClient - * - */ var request = new ReceiveMessageRequest { QueueUrl = _queueUrl, MaxNumberOfMessages = 10, WaitTimeSeconds = 20 }; - var response = await _sqs.ReceiveMessageAsync(request); - foreach (var message in response.Messages) + using (var connection = new NpgsqlConnection(_connectionString)) { - var order = JsonSerializer.Deserialize(message.Body); - // Process order (e.g., update inventory) + await connection.OpenAsync(); - // Delete message after processing - await _sqs.DeleteMessageAsync(_queueUrl, message.ReceiptHandle); + foreach (var message in response.Messages) + { + try + { + var order = JsonSerializer.Deserialize(message.Body); + + // Update order in the database + var query = $@"UPDATE orders SET processed = @Processed, total = @Total WHERE orderid = @OrderId"; + await using (var command = new NpgsqlCommand(query, connection)) + { + command.Parameters.AddWithValue("@Processed", true); + command.Parameters.AddWithValue("@Total", order.Quantity * order.Amount); + command.Parameters.AddWithValue("@OrderId", order.OrderId); + await command.ExecuteNonQueryAsync(); + } + + // Delete message from SQS after processing + await _sqs.DeleteMessageAsync(_queueUrl, message.ReceiptHandle); + } + catch (Exception ex) + { + // Log the exception (consider using a logging framework) + Console.WriteLine($"Error processing order {message.Body}: {ex.Message}"); + } + } } - return Ok(new { Status = $"{response.Messages.Count()}Order have been processed" }); + return Ok(new { Status = $"{response.Messages.Count()} Order(s) have been processed" }); } + [HttpPost] public async Task CreateOrder([FromBody] Order order) { + using (var connection = new NpgsqlConnection(_connectionString)) + { + await connection.OpenAsync(); + var query = "INSERT INTO Orders (product, quantity, amount, processed, total) VALUES (@Product, @Quantity, @Amount, @Processed, @Total)"; + using (var command = new NpgsqlCommand(query, connection)) + { + command.Parameters.AddWithValue("@Product", order.Product); + command.Parameters.AddWithValue("@Quantity", order.Quantity); + command.Parameters.AddWithValue("@Amount", order.Amount); + command.Parameters.AddWithValue("@Processed", order.Processed); + command.Parameters.AddWithValue("@Total", order.Total); + await command.ExecuteNonQueryAsync(); + } + } /* * AmazonSimpleNotificationServiceClient * diff --git a/WorkshopBackend/OrderService/OrderService.csproj b/WorkshopBackend/OrderService/OrderService.csproj index 385ff06..fb92fb4 100644 --- a/WorkshopBackend/OrderService/OrderService.csproj +++ b/WorkshopBackend/OrderService/OrderService.csproj @@ -12,6 +12,7 @@ +