aboutsummaryrefslogtreecommitdiff
path: root/cmd/web/handlers/blog.go
diff options
context:
space:
mode:
authorSamuel Johnson <[email protected]>2025-11-24 13:53:18 -0500
committerSamuel Johnson <[email protected]>2025-11-24 13:53:18 -0500
commit368a462bc744d8e9084eacfaddeb9afcaf7f7133 (patch)
treec6e8f665d6cb9713b9226b10c4a341e60b8e91c2 /cmd/web/handlers/blog.go
parent4d4419f51557bef6b64dca8635ed61616d262a9b (diff)
Add session management
Diffstat (limited to 'cmd/web/handlers/blog.go')
-rw-r--r--cmd/web/handlers/blog.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/cmd/web/handlers/blog.go b/cmd/web/handlers/blog.go
index bd2d97f..573e52f 100644
--- a/cmd/web/handlers/blog.go
+++ b/cmd/web/handlers/blog.go
@@ -15,22 +15,29 @@ type blogContext struct {
Rows []models.Post
Name string
+ IsAuth bool
}
func (ctx *blogContext) index(w http.ResponseWriter, r *http.Request) {
ctx.Rows = []models.Post{}
+ ctx.IsAuth = false
if r.URL.Path != "/" {
http.NotFound(w, r)
return
}
+
+ _, err := r.Cookie("paterissa_session_token")
+ if err == nil {
+ ctx.IsAuth = true;
+ }
offset := r.URL.Query().Get("offset")
if offset == "" {
offset = "20"
}
- rows, err := ctx.db.Query("SELECT * FROM posts WHERE id < " + offset + " ORDER BY id DESC LIMIT 20;")
+ rows, err := ctx.db.Query("SELECT p.id, u.name, p.time, p.content FROM posts p INNER JOIN logins u ON p.user_id = u.id WHERE p.id < " + offset + " ORDER BY p.id DESC LIMIT 20;")
if err != nil {
ctx.err.Print(err.Error())
http.Error(w, "Internal Server Error", 500)