Continue migration to echo

This commit is contained in:
2022-08-20 22:23:42 +00:00
parent b573553424
commit 1a11555075
10 changed files with 168 additions and 199 deletions

View File

@ -4,63 +4,66 @@ import (
"fmt"
"net/http"
"github.com/gin-gonic/gin"
"github.com/google/uuid"
"github.com/labstack/echo/v4"
"github.com/pressly/goose/v3"
)
func (h *Handler) clearDatabase(c *gin.Context) {
func (h *Handler) clearDatabase(c echo.Context) error {
if err := goose.Reset(h.Service.DB, "schema"); err != nil {
c.AbortWithError(http.StatusInternalServerError, err)
return echo.NewHTTPError(http.StatusInternalServerError, err)
}
if err := goose.Up(h.Service.DB, "schema"); err != nil {
c.AbortWithError(http.StatusInternalServerError, err)
return echo.NewHTTPError(http.StatusInternalServerError, err)
}
return nil
}
func (h *Handler) deleteBudget(c *gin.Context) {
func (h *Handler) deleteBudget(c echo.Context) error {
budgetID := c.Param("budgetid")
budgetUUID, err := uuid.Parse(budgetID)
if err != nil {
c.AbortWithStatus(http.StatusBadRequest)
return
return echo.NewHTTPError(http.StatusBadRequest, err)
}
h.clearBudgetData(c, budgetUUID)
err = h.Service.DeleteBudget(c.Request.Context(), budgetUUID)
err = h.clearBudgetData(c, budgetUUID)
if err != nil {
c.AbortWithError(http.StatusInternalServerError, err)
return
return err
}
err = h.Service.DeleteBudget(c.Request().Context(), budgetUUID)
if err != nil {
return err
}
return nil
}
func (h *Handler) clearBudgetData(c *gin.Context, budgetUUID uuid.UUID) {
rows, err := h.Service.DeleteAllAssignments(c.Request.Context(), budgetUUID)
func (h *Handler) clearBudgetData(c echo.Context, budgetUUID uuid.UUID) error {
rows, err := h.Service.DeleteAllAssignments(c.Request().Context(), budgetUUID)
if err != nil {
c.AbortWithError(http.StatusInternalServerError, err)
return
return err
}
fmt.Printf("Deleted %d assignments\n", rows)
rows, err = h.Service.DeleteAllTransactions(c.Request.Context(), budgetUUID)
rows, err = h.Service.DeleteAllTransactions(c.Request().Context(), budgetUUID)
if err != nil {
c.AbortWithError(http.StatusInternalServerError, err)
return
return err
}
fmt.Printf("Deleted %d transactions\n", rows)
return nil
}
func (h *Handler) clearBudget(c *gin.Context) {
func (h *Handler) clearBudget(c echo.Context) error {
budgetID := c.Param("budgetid")
budgetUUID, err := uuid.Parse(budgetID)
if err != nil {
c.AbortWithStatus(http.StatusBadRequest)
return
return echo.NewHTTPError(http.StatusBadRequest, err)
}
h.clearBudgetData(c, budgetUUID)
return h.clearBudgetData(c, budgetUUID)
}