diff options
Diffstat (limited to 'route')
-rw-r--r-- | route/routes/boardmgmt.go | 22 |
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 { |