aboutsummaryrefslogtreecommitdiff
path: root/route
diff options
context:
space:
mode:
Diffstat (limited to 'route')
-rw-r--r--route/routes/boardmgmt.go22
1 files changed, 20 insertions, 2 deletions
diff --git a/route/routes/boardmgmt.go b/route/routes/boardmgmt.go
index 04c01b5..b1770f3 100644
--- a/route/routes/boardmgmt.go
+++ b/route/routes/boardmgmt.go
@@ -342,9 +342,27 @@ func BoardAddToIndex(ctx *fiber.Ctx) error {
return ctx.SendString("board add to index")
}
-// TODO routes/BoardPopArchive
func BoardPopArchive(ctx *fiber.Ctx) error {
- return ctx.SendString("board pop archive")
+ actor, err := activitypub.GetActorFromDB(config.Domain)
+
+ if err != nil {
+ return util.MakeError(err, "BoardPopArchive")
+ }
+
+ if has := actor.HasValidation(ctx); !has {
+ return ctx.Status(404).Render("404", fiber.Map{})
+ }
+
+ id := ctx.Query("id")
+ board := ctx.Query("board")
+
+ var obj = activitypub.ObjectBase{Id: id}
+
+ if err := obj.SetRepliesType("Note"); err != nil {
+ return util.MakeError(err, "BoardPopArchive")
+ }
+
+ return ctx.Redirect("/"+board+"/archive", http.StatusSeeOther)
}
func BoardAutoSubscribe(ctx *fiber.Ctx) error {