Merge pull request 'Fix GroupID not being set for original transaction' (#27) from hotfix-transfers into master
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #27
This commit is contained in:
commit
d8a96535dc
@ -57,11 +57,13 @@ func (h *Handler) newTransaction(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if payload.Payee.Type == "account" {
|
if payload.Payee.Type == "account" {
|
||||||
err := h.CreateTransferForOtherAccount(newTransaction, amount, payload, c)
|
groupID, err := h.CreateTransferForOtherAccount(newTransaction, amount, payload, c)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.AbortWithError(http.StatusInternalServerError, err)
|
c.AbortWithError(http.StatusInternalServerError, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
newTransaction.GroupID = groupID
|
||||||
} else {
|
} else {
|
||||||
payeeID, err := GetPayeeID(c.Request.Context(), payload, h)
|
payeeID, err := GetPayeeID(c.Request.Context(), payload, h)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -119,7 +121,7 @@ func (h *Handler) UpdateTransaction(payload NewTransactionPayload, amount numeri
|
|||||||
c.JSON(http.StatusOK, transaction)
|
c.JSON(http.StatusOK, transaction)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h *Handler) CreateTransferForOtherAccount(newTransaction postgres.CreateTransactionParams, amount numeric.Numeric, payload NewTransactionPayload, c *gin.Context) error {
|
func (h *Handler) CreateTransferForOtherAccount(newTransaction postgres.CreateTransactionParams, amount numeric.Numeric, payload NewTransactionPayload, c *gin.Context) (uuid.NullUUID, error) {
|
||||||
newTransaction.GroupID = uuid.NullUUID{UUID: uuid.New(), Valid: true}
|
newTransaction.GroupID = uuid.NullUUID{UUID: uuid.New(), Valid: true}
|
||||||
newTransaction.Amount = amount.Neg()
|
newTransaction.Amount = amount.Neg()
|
||||||
newTransaction.AccountID = payload.Payee.ID.UUID
|
newTransaction.AccountID = payload.Payee.ID.UUID
|
||||||
@ -129,9 +131,9 @@ func (h *Handler) CreateTransferForOtherAccount(newTransaction postgres.CreateTr
|
|||||||
|
|
||||||
_, err := h.Service.CreateTransaction(c.Request.Context(), newTransaction)
|
_, err := h.Service.CreateTransaction(c.Request.Context(), newTransaction)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("create transfer transaction: %w", err)
|
return uuid.NullUUID{}, fmt.Errorf("create transfer transaction: %w", err)
|
||||||
}
|
}
|
||||||
return nil
|
return newTransaction.GroupID, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetPayeeID(context context.Context, payload NewTransactionPayload, h *Handler) (uuid.NullUUID, error) {
|
func GetPayeeID(context context.Context, payload NewTransactionPayload, h *Handler) (uuid.NullUUID, error) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user