From b41af6d01024a71b7ff3b5240b4699c6eac5468d Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Tue, 6 Oct 2020 12:15:56 +0530 Subject: [PATCH 1/7] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 79d9742..54a0a22 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Topcoder Bus API Server -## Overview +## Overview A meta service, Topcoder Bus API server provides information about other services offered by Topcoder. From e1f40a60d4812cfaefa9afbb996dac774a623e0b Mon Sep 17 00:00:00 2001 From: Sachin Maheshwari Date: Wed, 9 Jun 2021 12:04:48 +0530 Subject: [PATCH 2/7] adding key filed as optional to support stickness with one partition --- api/swagger.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/api/swagger.yaml b/api/swagger.yaml index 597555c..4d0fecd 100644 --- a/api/swagger.yaml +++ b/api/swagger.yaml @@ -979,6 +979,10 @@ definitions: type: "string" example: "application/json" description: "Mime-type for 'payload'.\n" + key: + type: "string" + example: "application/json" + description: "optional field to assure the one partition for 'payload'.\n" payload: type: "object" example: From e6ce79a3866a12ba5552dc19fb47963040950522 Mon Sep 17 00:00:00 2001 From: Sachin Maheshwari Date: Wed, 9 Jun 2021 12:06:24 +0530 Subject: [PATCH 3/7] deploying on dev --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index fd2157e..50fba99 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -77,7 +77,7 @@ workflows: context : org-global filters: branches: - only: ['dev'] + only: ['dev', 'feature/shapeup3'] - "build-prod": context : org-global filters: From 61574a10ade56cfdf9fefa437bb400b8d334991a Mon Sep 17 00:00:00 2001 From: Sachin Maheshwari Date: Wed, 9 Jun 2021 12:43:42 +0530 Subject: [PATCH 4/7] for the time being avoid swagger validation --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 0864699..c1ac528 100644 --- a/index.js +++ b/index.js @@ -42,7 +42,7 @@ swaggerTools.initializeMiddleware(swaggerDoc, function (middleware) { })) // Validate Swagger requests - app.use(middleware.swaggerValidator()) + //app.use(middleware.swaggerValidator()) // Route validated requests to appropriate controller app.use(middleware.swaggerRouter(options)) From f3ef65f61e0d09bcc018dee0178f477af8b7dbb9 Mon Sep 17 00:00:00 2001 From: Sachin Maheshwari Date: Wed, 9 Jun 2021 12:54:34 +0530 Subject: [PATCH 5/7] allowing 'key' filed from JOI lib --- common/helper.js | 1 + index.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/common/helper.js b/common/helper.js index 386d30f..8e3993e 100644 --- a/common/helper.js +++ b/common/helper.js @@ -133,6 +133,7 @@ function validateEventPayload (event) { originator: Joi.string().required(), timestamp: Joi.string().required(), 'mime-type': Joi.string().required(), + key: Joi.string(), payload: Joi.any() }) }) diff --git a/index.js b/index.js index c1ac528..0864699 100644 --- a/index.js +++ b/index.js @@ -42,7 +42,7 @@ swaggerTools.initializeMiddleware(swaggerDoc, function (middleware) { })) // Validate Swagger requests - //app.use(middleware.swaggerValidator()) + app.use(middleware.swaggerValidator()) // Route validated requests to appropriate controller app.use(middleware.swaggerRouter(options)) From f78fde4e72a9c85fa0b5129f999dce9485e26103 Mon Sep 17 00:00:00 2001 From: Sachin Maheshwari Date: Wed, 9 Jun 2021 18:23:33 +0530 Subject: [PATCH 6/7] adding support for publishing to kafka --- service/MessageBusService.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/service/MessageBusService.js b/service/MessageBusService.js index cb21b3b..dceb6e6 100644 --- a/service/MessageBusService.js +++ b/service/MessageBusService.js @@ -30,12 +30,17 @@ async function postEvent (event) { helper.validateEventPayload(event) // Post new structure - const result = await producer.send({ + const message = { + value: JSON.stringify(event) + } + if (event.key) { + _.merge(message, { key: event.key }) + } + const kafkaPayload = { topic: event.topic, - message: { - value: JSON.stringify(event) - } - }) + message + } + const result = await producer.send(kafkaPayload) // Check if there is any error const error = _.get(result, '[0].error') if (error) { From 52bb17a5249947c1c8530f2206023db412bbe7f7 Mon Sep 17 00:00:00 2001 From: sachin-maheshwari Date: Mon, 14 Jun 2021 12:13:28 +0530 Subject: [PATCH 7/7] Update swagger.yaml --- api/swagger.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/swagger.yaml b/api/swagger.yaml index 4d0fecd..ea31cd2 100644 --- a/api/swagger.yaml +++ b/api/swagger.yaml @@ -981,7 +981,7 @@ definitions: description: "Mime-type for 'payload'.\n" key: type: "string" - example: "application/json" + example: "abc123" description: "optional field to assure the one partition for 'payload'.\n" payload: type: "object"