diff options
author | FChannel <> | 2022-05-22 14:08:36 -0700 |
---|---|---|
committer | FChannel <> | 2022-06-19 12:53:29 -0700 |
commit | a66b676481d273508927e64a22e388dc302890ba (patch) | |
tree | 7c67b04dd8b39125526567ae6f08a39d0346d260 /route/routes/news.go | |
parent | 6a0f664b565716ad08301e7699d6c0393dbba977 (diff) |
route organization
Diffstat (limited to 'route/routes/news.go')
-rw-r--r-- | route/routes/news.go | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/route/routes/news.go b/route/routes/news.go new file mode 100644 index 0000000..0d226a5 --- /dev/null +++ b/route/routes/news.go @@ -0,0 +1,73 @@ +package routes + +import ( + "github.com/FChannel0/FChannel-Server/activitypub" + "github.com/FChannel0/FChannel-Server/config" + "github.com/FChannel0/FChannel-Server/db" + "github.com/FChannel0/FChannel-Server/route" + "github.com/FChannel0/FChannel-Server/util" + "github.com/FChannel0/FChannel-Server/webfinger" + "github.com/gofiber/fiber/v2" +) + +func NewsGet(ctx *fiber.Ctx) error { + timestamp := 0 + + actor, err := activitypub.GetActorFromDB(config.Domain) + if err != nil { + return util.MakeError(err, "NewsGet") + } + + var data route.PageData + data.PreferredUsername = actor.PreferredUsername + data.Boards = webfinger.Boards + data.Board.Name = "" + data.Key = config.Key + data.Board.Domain = config.Domain + data.Board.ModCred, _ = util.GetPasswordFromSession(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.GetNewsItem(timestamp) + if err != nil { + return util.MakeError(err, "NewsGet") + } + + data.Title = actor.PreferredUsername + ": " + data.NewsItems[0].Title + + data.Themes = &config.Themes + data.ThemeCookie = route.GetThemeCookie(ctx) + + return ctx.Render("news", fiber.Map{"page": data}, "layouts/main") +} + +func AllNewsGet(ctx *fiber.Ctx) error { + actor, err := activitypub.GetActorFromDB(config.Domain) + if err != nil { + return util.MakeError(err, "AllNewsGet") + } + + var data route.PageData + data.PreferredUsername = actor.PreferredUsername + data.Title = actor.PreferredUsername + " News" + data.Boards = webfinger.Boards + data.Board.Name = "" + data.Key = config.Key + data.Board.Domain = config.Domain + data.Board.ModCred, _ = util.GetPasswordFromSession(ctx) + data.Board.Actor = actor + data.Board.Post.Actor = actor.Id + data.Board.Restricted = actor.Restricted + + data.NewsItems, err = db.GetNews(0) + if err != nil { + return util.MakeError(err, "AllNewsGet") + } + + data.Themes = &config.Themes + data.ThemeCookie = route.GetThemeCookie(ctx) + + return ctx.Render("anews", fiber.Map{"page": data}, "layouts/main") +} |