From 639d0cd67de0b4134c15050ac23ff22765cd5c5c Mon Sep 17 00:00:00 2001 From: Mohammed Sohail Date: Mon, 5 Feb 2024 16:23:43 +0300 Subject: [PATCH] feat: check distributor -> shop registration when recording purchase * closes #12 --- internal/router/transaction.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/internal/router/transaction.go b/internal/router/transaction.go index 25aeadc..9e59b99 100644 --- a/internal/router/transaction.go +++ b/internal/router/transaction.go @@ -1,6 +1,7 @@ package router import ( + "fmt" "log" "github.com/labstack/echo/v5" @@ -50,7 +51,6 @@ func (r *RouterContainer) bootstrapTransactionRoute() { } if requestData.Tx == "buy" { - log.Println("buy") counterpartyRecord, err := r.PB.Dao().FindFirstRecordByData("users", "phone", requestData.TxBuyType) if err != nil { return apis.NewNotFoundError("Counterparty not registered", err) @@ -60,6 +60,15 @@ func (r *RouterContainer) bootstrapTransactionRoute() { return apis.NewNotFoundError("Counterparty is not registered as a distributor", err) } + distributorRecord, err := r.PB.Dao().FindFirstRecordByData("distributor_base", "user", counterpartyRecord.Id) + if err != nil { + return apis.NewNotFoundError("Counterparty not found in distributors record", err) + } + + if distributorRecord.GetString("distributor_name") != requestData.DistributorName { + return apis.NewNotFoundError(fmt.Sprintf("Counterparty is not registered to %s", requestData.DistributorName), err) + } + txData["evergrow_quantity"] = requestData.EvergrowQuantityPurchase txData["distributor_name"] = requestData.DistributorName txData["counterparty"] = counterpartyRecord.Id @@ -67,7 +76,6 @@ func (r *RouterContainer) bootstrapTransactionRoute() { } if requestData.Tx == "sell" { - log.Println("sell") counterpartyRecord, err := r.PB.Dao().FindFirstRecordByData("users", "phone", requestData.TxSellType) if err != nil { return apis.NewNotFoundError("", err)