Implement problematic transactions endpoint

This commit is contained in:
Jan Bader 2022-04-22 21:24:48 +00:00
parent 24fa12dfb3
commit 10d3f445a1
2 changed files with 20 additions and 2 deletions

View File

@ -8,6 +8,23 @@ import (
"github.com/google/uuid"
)
func (h *Handler) problematicTransactions(c *gin.Context) {
budgetID := c.Param("budgetid")
budgetUUID, err := uuid.Parse(budgetID)
if err != nil {
c.AbortWithError(http.StatusBadRequest, err)
return
}
transactions, err := h.Service.GetProblematicTransactions(c.Request.Context(), budgetUUID)
if err != nil {
c.AbortWithError(http.StatusInternalServerError, err)
return
}
c.JSON(http.StatusOK, TransactionsResponse{nil, transactions})
}
func (h *Handler) transactionsForAccount(c *gin.Context) {
accountID := c.Param("accountid")
accountUUID, err := uuid.Parse(accountID)
@ -28,11 +45,11 @@ func (h *Handler) transactionsForAccount(c *gin.Context) {
return
}
c.JSON(http.StatusOK, TransactionsResponse{account, transactions})
c.JSON(http.StatusOK, TransactionsResponse{&account, transactions})
}
type TransactionsResponse struct {
Account postgres.Account
Account *postgres.Account
Transactions []postgres.DisplayTransaction
}

View File

@ -66,6 +66,7 @@ func (h *Handler) LoadRoutes(router *gin.Engine) {
budget.POST("/:budgetid/category/:categoryid/:year/:month", h.setCategoryAssignment)
budget.GET("/:budgetid/autocomplete/payees", h.autocompletePayee)
budget.GET("/:budgetid/autocomplete/categories", h.autocompleteCategories)
budget.GET("/:budgetid/problematic-transactions", h.problematicTransactions)
budget.DELETE("/:budgetid", h.deleteBudget)
budget.POST("/:budgetid/import/ynab", h.importYNAB)
budget.POST("/:budgetid/export/ynab/transactions", h.exportYNABTransactions)