aboutsummaryrefslogtreecommitdiff
path: root/routes/news.go
diff options
context:
space:
mode:
Diffstat (limited to 'routes/news.go')
-rw-r--r--routes/news.go69
1 files changed, 66 insertions, 3 deletions
diff --git a/routes/news.go b/routes/news.go
index 585614d..98d0019 100644
--- a/routes/news.go
+++ b/routes/news.go
@@ -1,7 +1,70 @@
package routes
-import "github.com/gofiber/fiber/v2"
+import (
+ "github.com/FChannel0/FChannel-Server/config"
+ "github.com/FChannel0/FChannel-Server/db"
+ "github.com/gofiber/fiber/v2"
+)
-func NewsGet(c *fiber.Ctx) error {
- return c.SendString("news get")
+func NewsGet(ctx *fiber.Ctx) error {
+ // TODO
+ timestamp := 0
+
+ actor, err := db.GetActorFromDB(config.Domain)
+ if err != nil {
+ return err
+ }
+
+ var data PageData
+ data.PreferredUsername = actor.PreferredUsername
+ data.Boards = db.Boards
+ data.Board.Name = ""
+ data.Key = config.Key
+ data.Board.Domain = config.Domain
+ data.Board.ModCred, _ = getPassword(ctx)
+ data.Board.Actor = actor
+ data.Board.Post.Actor = actor.Id
+ data.Board.Restricted = actor.Restricted
+ data.NewsItems = make([]db.NewsItem, 1)
+
+ data.NewsItems[0], err = db.GetNewsItemFromDB(timestamp)
+ if err != nil {
+ return err
+ }
+
+ data.Title = actor.PreferredUsername + ": " + data.NewsItems[0].Title
+
+ data.Themes = &config.Themes
+ data.ThemeCookie = getThemeCookie(ctx)
+
+ return ctx.Render("news", fiber.Map{"page": data}, "layouts/main")
+}
+
+func AllNewsGet(ctx *fiber.Ctx) error {
+ actor, err := db.GetActorFromDB(config.Domain)
+ if err != nil {
+ return err
+ }
+
+ var data PageData
+ data.PreferredUsername = actor.PreferredUsername
+ data.Title = actor.PreferredUsername + " News"
+ data.Boards = db.Boards
+ data.Board.Name = ""
+ data.Key = config.Key
+ data.Board.Domain = config.Domain
+ data.Board.ModCred, _ = getPassword(ctx)
+ data.Board.Actor = actor
+ data.Board.Post.Actor = actor.Id
+ data.Board.Restricted = actor.Restricted
+
+ data.NewsItems, err = db.GetNewsFromDB(0)
+ if err != nil {
+ return err
+ }
+
+ data.Themes = &config.Themes
+ data.ThemeCookie = getThemeCookie(ctx)
+
+ return ctx.Render("anews", fiber.Map{"page": data}, "layouts/main")
}