Add Budget API route
This commit is contained in:
parent
39bd56a30f
commit
caa10ee560
@ -4,6 +4,7 @@ import "git.javil.eu/jacob1123/budgeteer"
|
||||
|
||||
type TemplateData struct {
|
||||
Token budgeteer.Token
|
||||
Budget *budgeteer.Budget
|
||||
budgetService budgeteer.ModelService
|
||||
}
|
||||
|
||||
|
24
http/http.go
24
http/http.go
@ -32,6 +32,7 @@ func (h *Handler) Serve() {
|
||||
router.GET("/login", h.login)
|
||||
router.GET("/register", h.register)
|
||||
router.GET("/dashboard", h.dashboard)
|
||||
router.GET("/budget/:budgetid", h.budget)
|
||||
api := router.Group("/api/v1")
|
||||
{
|
||||
user := api.Group("/user")
|
||||
@ -50,6 +51,29 @@ func (h *Handler) Serve() {
|
||||
router.Run(":1323")
|
||||
}
|
||||
|
||||
func (h *Handler) budget(c *gin.Context) {
|
||||
token, err := h.verifyLogin(c)
|
||||
if err != nil {
|
||||
c.Redirect(http.StatusTemporaryRedirect, "/login")
|
||||
return
|
||||
}
|
||||
|
||||
budgetID := c.Param("budgetid")
|
||||
budget, err := h.Service.Budget(budgetID)
|
||||
if err != nil {
|
||||
c.AbortWithError(http.StatusUnauthorized, err)
|
||||
return
|
||||
}
|
||||
|
||||
d := TemplateData{
|
||||
Token: token,
|
||||
Budget: budget,
|
||||
budgetService: h.Service,
|
||||
}
|
||||
|
||||
c.HTML(http.StatusOK, "budget", d)
|
||||
}
|
||||
|
||||
func (h *Handler) newBudget(c *gin.Context) {
|
||||
token, err := h.verifyLogin(c)
|
||||
if err != nil {
|
||||
|
28
templates/budget.html
Normal file
28
templates/budget.html
Normal file
@ -0,0 +1,28 @@
|
||||
{{define "budget"}}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Budgets</title>
|
||||
|
||||
{{template "head"}}
|
||||
</head>
|
||||
<body>
|
||||
<div class="container" id="head">
|
||||
Budgeteer - {{.Token.GetName}}
|
||||
</div>
|
||||
<div class="container col-lg-12" id="content">
|
||||
{{range .GetBudgets}}
|
||||
<div class="budget-item">
|
||||
<a href="budgets/{{.ID}}">{{.Name}}</a>
|
||||
<span class="time"></span>
|
||||
</div>
|
||||
{{end}}
|
||||
<div class="budget-item">
|
||||
<a href="#newbudgetmodal" data-toggle="modal" data-target="#newbudgetmodal">New Budget</a>
|
||||
<span class="time"></span>
|
||||
</div>
|
||||
</div>
|
||||
{{template "budget-new"}}
|
||||
</body>
|
||||
</html>
|
||||
{{end}}
|
Loading…
x
Reference in New Issue
Block a user