diff --git a/proto/inventory.proto b/proto/inventory.proto index c819783e..58744e6d 100644 --- a/proto/inventory.proto +++ b/proto/inventory.proto @@ -2,6 +2,7 @@ syntax = "proto3"; service InventoryService { rpc SearchAllProducts(Empty) returns (ProductsResponse) {} + rpc SearchProductByID(Payload) returns (ProductResponse) {} } message Empty{} @@ -14,7 +15,9 @@ message ProductResponse { string photo = 5; string author = 6; } - message ProductsResponse { repeated ProductResponse products = 1; } +message Payload { + int32 id = 1; +} diff --git a/services/inventory/index.js b/services/inventory/index.js index 2eeabc9d..f4a1657d 100644 --- a/services/inventory/index.js +++ b/services/inventory/index.js @@ -20,6 +20,12 @@ server.addService(inventoryProto.InventoryService.service, { products: products, }); }, + SearchProductByID: (payload, callback) => { + callback( + null, + products.find((product) => product.id == payload.request.id) + ); + }, }); server.bindAsync('127.0.0.1:3002', grpc.ServerCredentials.createInsecure(), () => {