From f91143ce9a3cf877bd4ec6547829ba34c3bb917a Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Fri, 26 Jul 2024 16:32:01 +0800 Subject: [PATCH] :bug: Fix filter by author requires internal id which is ridiculous --- pkg/internal/server/api/attachment_dir_api.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/internal/server/api/attachment_dir_api.go b/pkg/internal/server/api/attachment_dir_api.go index eb752bc..aec5767 100644 --- a/pkg/internal/server/api/attachment_dir_api.go +++ b/pkg/internal/server/api/attachment_dir_api.go @@ -18,9 +18,13 @@ func listAttachment(c *fiber.Ctx) error { tx := database.C - if author := c.QueryInt("authorId", 0); author > 0 { - tx = tx.Where("account_id = ?", author) + var author models.Account + if err := database.C.Where("name = ?", c.Query("author")).Error; err != nil { + return fiber.NewError(fiber.StatusBadRequest, err.Error()) + } else { + tx = tx.Where("account_id = ?", author.ID) } + if usage := strings.Split(c.Query("usage"), " "); len(usage) > 0 { tx = tx.Where("usage IN ?", usage) } @@ -31,7 +35,7 @@ func listAttachment(c *fiber.Ctx) error { return fiber.NewError(fiber.StatusBadRequest, err.Error()) } var attachments []models.Attachment - if err := tx.Offset(offset).Limit(take).Find(&attachments).Error; err != nil { + if err := tx.Order("created_at DESC").Offset(offset).Limit(take).Find(&attachments).Error; err != nil { return fiber.NewError(fiber.StatusBadRequest, err.Error()) }