diff options
| author | Samuel Johnson <[email protected]> | 2025-11-24 13:53:18 -0500 |
|---|---|---|
| committer | Samuel Johnson <[email protected]> | 2025-11-24 13:53:18 -0500 |
| commit | 368a462bc744d8e9084eacfaddeb9afcaf7f7133 (patch) | |
| tree | c6e8f665d6cb9713b9226b10c4a341e60b8e91c2 /cmd/web/handlers/blog.go | |
| parent | 4d4419f51557bef6b64dca8635ed61616d262a9b (diff) | |
Add session management
Diffstat (limited to 'cmd/web/handlers/blog.go')
| -rw-r--r-- | cmd/web/handlers/blog.go | 9 |
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) |
