Improve Backend

This commit is contained in:
2022-04-24 20:03:53 +00:00
parent c63a8bc5d3
commit 8636d04b84
4 changed files with 26 additions and 10 deletions

View File

@ -30,10 +30,13 @@ func (h *Handler) filteredTransactions(c *gin.Context) {
}
params := postgres.GetFilteredTransactionsParams{
BudgetID: budgetUUID,
CategoryID: uuid.NullUUID{},
FilterCategory: true,
BudgetID: budgetUUID,
}
params.CategoryID, params.FilterCategory = parseEmptyUUID(request.CategoryID)
accountID, filterAccount := parseEmptyUUID(request.AccountID)
params.AccountID, params.FilterAccount = accountID.UUID, filterAccount
params.PayeeID, params.FilterPayee = parseEmptyUUID(request.PayeeID)
transactions, err := h.Service.GetFilteredTransactions(c.Request.Context(), params)
if err != nil {
c.AbortWithError(http.StatusInternalServerError, err)
@ -43,6 +46,19 @@ func (h *Handler) filteredTransactions(c *gin.Context) {
c.JSON(http.StatusOK, TransactionsResponse{nil, transactions})
}
func parseEmptyUUID(value string) (uuid.NullUUID, bool) {
if value == "" {
return uuid.NullUUID{}, false
}
val, err := uuid.Parse(value)
if err != nil {
return uuid.NullUUID{}, false
}
return uuid.NullUUID{val, true}, true
}
func (h *Handler) problematicTransactions(c *gin.Context) {
budgetID := c.Param("budgetid")
budgetUUID, err := uuid.Parse(budgetID)

View File

@ -68,7 +68,7 @@ func (h *Handler) LoadRoutes(router *gin.Engine) {
budget.GET("/:budgetid/autocomplete/accounts", h.autocompleteAccounts)
budget.GET("/:budgetid/autocomplete/categories", h.autocompleteCategories)
budget.GET("/:budgetid/problematic-transactions", h.problematicTransactions)
budget.GET("/:budgetid/filtered-transactions", h.filteredTransactions)
budget.POST("/:budgetid/filtered-transactions", h.filteredTransactions)
budget.DELETE("/:budgetid", h.deleteBudget)
budget.POST("/:budgetid/import/ynab", h.importYNAB)
budget.POST("/:budgetid/export/ynab/transactions", h.exportYNABTransactions)