List boost by users

This commit is contained in:
2024-12-28 22:14:30 +08:00
parent 1a5787d3c2
commit ebc3a6f09c
3 changed files with 50 additions and 2 deletions

View File

@ -9,7 +9,32 @@ import (
"github.com/gofiber/fiber/v2"
)
func listBoost(c *fiber.Ctx) error {
func listBoostByUser(c *fiber.Ctx) error {
user := c.Locals("nex_user").(*sec.UserInfo)
take := c.QueryInt("take", 0)
offset := c.QueryInt("offset", 0)
if take > 100 {
take = 100
}
count, err := services.CountBoostByUser(user.ID)
if err != nil {
return fiber.NewError(fiber.StatusInternalServerError, err.Error())
}
boosts, err := services.ListBoostByUser(user.ID, take, offset)
if err != nil {
return fiber.NewError(fiber.StatusInternalServerError, err.Error())
}
return c.JSON(fiber.Map{
"count": count,
"data": boosts,
})
}
func listBoostByAttachment(c *fiber.Ctx) error {
attachmentId, _ := c.ParamsInt("attachmentId", 0)
if boost, err := services.ListBoostByAttachment(uint(attachmentId)); err != nil {

View File

@ -12,6 +12,7 @@ func MapAPIs(app *fiber.App, baseURL string) {
{
boost := api.Group("/boosts").Name("Boosts API")
{
boost.Get("/", listBoostByUser)
boost.Get("/:id", getBoost)
boost.Post("/", sec.ValidatorMiddleware, createBoost)
boost.Put("/:id", sec.ValidatorMiddleware, updateBoost)
@ -28,7 +29,7 @@ func MapAPIs(app *fiber.App, baseURL string) {
attachments := api.Get("/attachments").Name("Attachments API")
{
attachments.Get("/:attachmentId/boosts", listBoost)
attachments.Get("/:attachmentId/boosts", listBoostByAttachment)
attachments.Get("/", listAttachment)
attachments.Get("/:id/meta", getAttachmentMeta)