Extract loading of accounts to middleware

This commit is contained in:
2021-12-04 22:47:01 +00:00
parent e30fab6a06
commit 6628a4849f
3 changed files with 40 additions and 23 deletions

View File

@ -8,6 +8,7 @@ import (
"git.javil.eu/jacob1123/budgeteer"
"git.javil.eu/jacob1123/budgeteer/postgres"
"github.com/gin-gonic/gin"
"github.com/google/uuid"
)
func (h *Handler) verifyLogin(c *gin.Context) (budgeteer.Token, error) {
@ -25,6 +26,28 @@ func (h *Handler) verifyLogin(c *gin.Context) (budgeteer.Token, error) {
return token, nil
}
func (h *Handler) getImportantData(c *gin.Context) {
budgetID := c.Param("budgetid")
budgetUUID, err := uuid.Parse(budgetID)
if err != nil {
c.Redirect(http.StatusTemporaryRedirect, "/login")
return
}
accounts, err := h.Service.DB.GetAccountsWithBalance(c.Request.Context(), budgetUUID)
if err != nil {
c.AbortWithError(http.StatusInternalServerError, err)
return
}
base := AlwaysNeededData{
Accounts: accounts,
}
c.Set("data", base)
c.Next()
}
func (h *Handler) verifyLoginWithRedirect(c *gin.Context) {
token, err := h.verifyLogin(c)
if err != nil {