Skip to content

Commit 73fbe77

Browse files
feat: Meta var to views
1 parent f52ff0d commit 73fbe77

19 files changed

+186
-87
lines changed

Makefile

+3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ all: dep-web snapshot
33
snapshot:
44
goreleaser release --snapshot --clean
55

6+
preview:
7+
go generate ./... && go run .
8+
69
dev:
710
air
811

web/controllers/attachments.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,20 @@ import (
88
"github.com/ItsNotGoodName/smtpbridge/internal/envelope"
99
"github.com/ItsNotGoodName/smtpbridge/internal/procs"
1010
"github.com/ItsNotGoodName/smtpbridge/pkg/pagination"
11-
"github.com/ItsNotGoodName/smtpbridge/web/helpers"
11+
h "github.com/ItsNotGoodName/smtpbridge/web/helpers"
1212
"github.com/gofiber/fiber/v2"
1313
)
1414

1515
func Attachments(c *fiber.Ctx, cc core.Context) error {
1616
// Request
1717
page, err := strconv.Atoi(c.Query("page", "1"))
1818
if err != nil {
19-
return helpers.Error(c, err, http.StatusBadRequest)
19+
return h.Error(c, err, http.StatusBadRequest)
2020
}
2121

2222
perPage, err := strconv.Atoi(c.Query("perPage", "1"))
2323
if err != nil {
24-
return helpers.Error(c, err, http.StatusBadRequest)
24+
return h.Error(c, err, http.StatusBadRequest)
2525
}
2626

2727
// Execute
@@ -30,16 +30,16 @@ func Attachments(c *fiber.Ctx, cc core.Context) error {
3030
}
3131
res, err := procs.EnvelopeAttachmentList(cc, pagination.NewPage(page, perPage), filter)
3232
if err != nil {
33-
return helpers.Error(c, err)
33+
return h.Error(c, err)
3434
}
3535

3636
// Response
3737
queries := c.Queries()
3838
if res.PageResult.Page > res.PageResult.TotalPages {
39-
return c.Redirect("/attachments?" + helpers.Query(queries, "page", res.PageResult.TotalPages))
39+
return c.Redirect("/attachments?" + h.Query(queries, "page", res.PageResult.TotalPages))
4040
}
4141

42-
return c.Render("attachments", fiber.Map{
42+
return h.Render(c, "attachments", fiber.Map{
4343
"Queries": queries,
4444
"Attachments": res.Attachments,
4545
"AttachmentsPageResult": res.PageResult,

web/controllers/auth.go

+21-18
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,19 @@ package controllers
33
import (
44
"github.com/ItsNotGoodName/smtpbridge/internal/core"
55
"github.com/ItsNotGoodName/smtpbridge/internal/procs"
6-
"github.com/ItsNotGoodName/smtpbridge/web/helpers"
6+
h "github.com/ItsNotGoodName/smtpbridge/web/helpers"
77
"github.com/gofiber/fiber/v2"
88
"github.com/gofiber/fiber/v2/middleware/session"
99
)
1010

11-
type LoginData struct {
12-
Flash string
11+
func loginData(flash string) fiber.Map {
12+
return fiber.Map{
13+
"Flash": flash,
14+
}
1315
}
1416

1517
func Login(c *fiber.Ctx, cc core.Context) error {
16-
return c.Render("login", LoginData{})
18+
return h.Render(c, "login", fiber.Map{})
1719
}
1820

1921
func LoginPost(c *fiber.Ctx, cc core.Context, store *session.Store) error {
@@ -24,50 +26,51 @@ func LoginPost(c *fiber.Ctx, cc core.Context, store *session.Store) error {
2426
// Execute
2527
err := procs.AuthHTTPLogin(cc, username, password)
2628
if err != nil {
27-
if helpers.IsHTMXRequest(c) {
28-
return c.Render("login", LoginData{Flash: err.Error()}, "form")
29+
if h.IsHTMXRequest(c) {
30+
return h.Render(c, "login", loginData(err.Error()), "form")
2931
}
30-
return c.Render("login", LoginData{Flash: err.Error()})
32+
return h.Render(c, "login", loginData(err.Error()))
3133
}
3234

3335
// Response
3436
sess, err := store.Get(c)
3537
if err != nil {
36-
return helpers.Error(c, err)
38+
return h.Error(c, err)
3739
}
3840

3941
sess.Set("auth", true)
4042
if err := sess.Save(); err != nil {
41-
return helpers.Error(c, err)
43+
return h.Error(c, err)
4244
}
4345

44-
return helpers.Redirect(c, "/")
46+
return h.Redirect(c, "/")
4547
}
4648

4749
func Logout(c *fiber.Ctx, cc core.Context, store *session.Store) error {
4850
sess, err := store.Get(c)
4951
if err != nil {
50-
return helpers.Error(c, err)
52+
return h.Error(c, err)
5153
}
5254

5355
sess.Delete("auth")
5456
if err := sess.Save(); err != nil {
55-
return helpers.Error(c, err)
57+
return h.Error(c, err)
5658
}
5759

58-
return helpers.Redirect(c, "/login")
60+
return h.Redirect(c, "/login")
5961
}
6062

6163
func UserRequire(c *fiber.Ctx, cc core.Context, store *session.Store) error {
6264
if procs.AuthHTTPAnonymous(cc) {
63-
return helpers.NotFound(c)
65+
return h.NotFound(c)
6466
}
6567

6668
return authRequire(c, cc, store)
6769
}
6870

6971
func AuthRequire(c *fiber.Ctx, cc core.Context, store *session.Store) error {
7072
if procs.AuthHTTPAnonymous(cc) {
73+
c.Locals(h.AnonymousContextKey, true)
7174
return c.Next()
7275
}
7376

@@ -82,25 +85,25 @@ func authRequire(c *fiber.Ctx, cc core.Context, store *session.Store) error {
8285

8386
auth := sess.Get("auth")
8487
if auth == nil {
85-
return helpers.Redirect(c, "/login")
88+
return h.Redirect(c, "/login")
8689
}
8790

8891
return c.Next()
8992
}
9093

9194
func AuthRestrict(c *fiber.Ctx, cc core.Context, store *session.Store) error {
9295
if procs.AuthHTTPAnonymous(cc) {
93-
return helpers.Redirect(c, "/")
96+
return h.Redirect(c, "/")
9497
}
9598

9699
sess, err := store.Get(c)
97100
if err != nil {
98-
return helpers.Error(c, err)
101+
return h.Error(c, err)
99102
}
100103

101104
auth := sess.Get("auth")
102105
if auth != nil {
103-
return helpers.Redirect(c, "/")
106+
return h.Redirect(c, "/")
104107
}
105108

106109
return c.Next()

web/controllers/controllers.go

+14-14
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
"github.com/ItsNotGoodName/smtpbridge/internal/procs"
1010
"github.com/ItsNotGoodName/smtpbridge/pkg/pagination"
1111
"github.com/ItsNotGoodName/smtpbridge/web"
12-
"github.com/ItsNotGoodName/smtpbridge/web/helpers"
12+
h "github.com/ItsNotGoodName/smtpbridge/web/helpers"
1313
"github.com/gofiber/fiber/v2"
1414
"github.com/gofiber/fiber/v2/middleware/filesystem"
1515
)
@@ -18,18 +18,18 @@ func Index(c *fiber.Ctx, cc core.Context) error {
1818
// Execute
1919
storage, err := procs.StorageGet(cc)
2020
if err != nil {
21-
return helpers.Error(c, err)
21+
return h.Error(c, err)
2222
}
2323

2424
messages, err := procs.EnvelopeMessageList(cc, pagination.NewPage(1, 5), envelope.MessageFilter{})
2525
if err != nil {
26-
return helpers.Error(c, err)
26+
return h.Error(c, err)
2727
}
2828

2929
policy := procs.RetentionPolicyGet(cc)
3030

3131
// Response
32-
return c.Render("index", fiber.Map{
32+
return h.Render(c, "index", fiber.Map{
3333
"Messages": messages.Messages,
3434
"Storage": storage,
3535
"RetentionPolicy": policy,
@@ -40,11 +40,11 @@ func IndexStorageTable(c *fiber.Ctx, cc core.Context) error {
4040
// Execute
4141
storage, err := procs.StorageGet(cc)
4242
if err != nil {
43-
return helpers.Error(c, err)
43+
return h.Error(c, err)
4444
}
4545

4646
// Response
47-
return c.Render("index", fiber.Map{
47+
return h.Render(c, "index", fiber.Map{
4848
"Storage": storage,
4949
}, "storage-table")
5050
}
@@ -53,11 +53,11 @@ func IndexRecentEnvelopesTable(c *fiber.Ctx, cc core.Context) error {
5353
// Execute
5454
messages, err := procs.EnvelopeMessageList(cc, pagination.NewPage(1, 5), envelope.MessageFilter{})
5555
if err != nil {
56-
return helpers.Error(c, err)
56+
return h.Error(c, err)
5757
}
5858

5959
// Response
60-
return c.Render("index", fiber.Map{
60+
return h.Render(c, "index", fiber.Map{
6161
"Messages": messages.Messages,
6262
}, "recent-envelopes-table")
6363
}
@@ -73,17 +73,17 @@ func Send(c *fiber.Ctx, cc core.Context) error {
7373
// Request
7474
envelopeID, err := strconv.ParseInt(c.FormValue("envelope"), 10, 64)
7575
if err != nil {
76-
return helpers.Error(c, err, http.StatusBadRequest)
76+
return h.Error(c, err, http.StatusBadRequest)
7777
}
7878
endpointID, err := strconv.ParseInt(c.FormValue("endpoint"), 10, 64)
7979
if err != nil {
80-
return helpers.Error(c, err, http.StatusBadRequest)
80+
return h.Error(c, err, http.StatusBadRequest)
8181
}
8282

8383
// Execute
8484
err = procs.EndpointSend(cc, envelopeID, endpointID)
8585
if err != nil {
86-
return helpers.Error(c, err)
86+
return h.Error(c, err)
8787
}
8888

8989
// Response
@@ -94,7 +94,7 @@ func Vacuum(c *fiber.Ctx, cc core.Context) error {
9494
// Execute
9595
err := procs.DatabaseVacuum(cc)
9696
if err != nil {
97-
return helpers.Error(c, err)
97+
return h.Error(c, err)
9898
}
9999

100100
// Response
@@ -106,7 +106,7 @@ func Trim(c *fiber.Ctx, cc core.Context) error {
106106
// Execute
107107
err := procs.TrimStart(cc)
108108
if err != nil {
109-
return helpers.Error(c, err)
109+
return h.Error(c, err)
110110
}
111111

112112
// Response
@@ -115,5 +115,5 @@ func Trim(c *fiber.Ctx, cc core.Context) error {
115115
}
116116

117117
func SomethingWentWrong(c *fiber.Ctx) error {
118-
return c.Render("something-went-wrong", fiber.Map{"Error": ""})
118+
return h.Render(c, "something-went-wrong", fiber.Map{"Error": ""})
119119
}

web/controllers/endpoints.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,19 @@ import (
55

66
"github.com/ItsNotGoodName/smtpbridge/internal/core"
77
"github.com/ItsNotGoodName/smtpbridge/internal/procs"
8-
"github.com/ItsNotGoodName/smtpbridge/web/helpers"
8+
h "github.com/ItsNotGoodName/smtpbridge/web/helpers"
99
"github.com/gofiber/fiber/v2"
1010
)
1111

1212
func Endpoints(c *fiber.Ctx, cc core.Context) error {
1313
// Execute
1414
ends, err := procs.EndpointList(cc)
1515
if err != nil {
16-
return helpers.Error(c, err)
16+
return h.Error(c, err)
1717
}
1818

1919
// Response
20-
return c.Render("endpoints", fiber.Map{
20+
return h.Render(c, "endpoints", fiber.Map{
2121
"Endpoints": ends,
2222
})
2323
}
@@ -26,7 +26,7 @@ func EndpointTest(c *fiber.Ctx, cc core.Context, id int64) error {
2626
// Execute
2727
err := procs.EndpointTest(cc, id)
2828
if err != nil {
29-
return helpers.Error(c, err)
29+
return h.Error(c, err)
3030
}
3131

3232
// Response

0 commit comments

Comments
 (0)