Enhance comment functionality with image support and validation.

This commit is contained in:
2025-06-24 12:00:48 +08:00
parent b818777a45
commit 953b1cf86a
12 changed files with 469 additions and 88 deletions

View File

@@ -28,11 +28,17 @@ func createComment(c fiber.Ctx) error {
if err != nil {
return model.NewRequestError("Invalid resource ID")
}
content := c.FormValue("content")
if content == "" {
var req service.CommentRequest
if err := c.Bind().JSON(&req); err != nil {
return model.NewRequestError("Invalid request format")
}
if req.Content == "" {
return model.NewRequestError("Content cannot be empty")
}
comment, err := service.CreateComment(content, userID, uint(resourceID))
comment, err := service.CreateComment(req, userID, uint(resourceID))
if err != nil {
return err
}
@@ -102,11 +108,17 @@ func updateComment(c fiber.Ctx) error {
if err != nil {
return model.NewRequestError("Invalid comment ID")
}
content := c.FormValue("content")
if content == "" {
var req service.CommentRequest
if err := c.Bind().JSON(&req); err != nil {
return model.NewRequestError("Invalid request format")
}
if req.Content == "" {
return model.NewRequestError("Content cannot be empty")
}
comment, err := service.UpdateComment(uint(commentID), userID, content)
comment, err := service.UpdateComment(uint(commentID), userID, req)
if err != nil {
return err
}

View File

@@ -19,7 +19,8 @@ func handleUploadImage(c fiber.Ctx) error {
if !strings.HasPrefix(contentType, "image/") {
return model.NewRequestError("Invalid image format")
}
id, err := service.CreateImage(uid, data)
ip := c.IP()
id, err := service.CreateImage(uid, ip, data)
if err != nil {
return err
}