From 953d348bed2371feabfb8ea0b13a686054772352 Mon Sep 17 00:00:00 2001 From: Jan Bader Date: Tue, 15 Feb 2022 09:02:01 +0000 Subject: [PATCH] Handle new Payees --- server/transaction.go | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/server/transaction.go b/server/transaction.go index 072f8ad..3a7bf9a 100644 --- a/server/transaction.go +++ b/server/transaction.go @@ -35,8 +35,6 @@ func (h *Handler) newTransaction(c *gin.Context) { return } - fmt.Printf("%v\n", payload) - amount := postgres.Numeric{} err = amount.Set(payload.Amount) if err != nil { @@ -44,12 +42,29 @@ func (h *Handler) newTransaction(c *gin.Context) { return } + payeeID := payload.Payee.ID + if !payeeID.Valid && payload.Payee.Name != "" { + newPayee := postgres.CreatePayeeParams{ + Name: payload.Payee.Name, + BudgetID: payload.BudgetID, + } + payee, err := h.Service.CreatePayee(c.Request.Context(), newPayee) + if err != nil { + c.AbortWithError(http.StatusInternalServerError, fmt.Errorf("create payee: %w", err)) + } + + payeeID = uuid.NullUUID{ + UUID: payee.ID, + Valid: true, + } + } + newTransaction := postgres.CreateTransactionParams{ Memo: payload.Memo, Date: time.Time(payload.Date), Amount: amount, AccountID: payload.AccountID, - PayeeID: payload.Payee.ID, + PayeeID: payeeID, CategoryID: payload.Category.ID, Status: postgres.TransactionStatus(payload.State), }