versia-go/internal/handlers/note_handler/app_note_create.go

33 lines
720 B
Go
Raw Normal View History

2024-08-11 03:51:22 +02:00
package note_handler
import (
"github.com/gofiber/fiber/v2"
2024-08-28 00:25:25 +02:00
"github.com/versia-pub/versia-go/internal/api_schema"
2024-08-11 03:51:22 +02:00
)
func (i *Handler) CreateNote(c *fiber.Ctx) error {
req := api_schema.CreateNoteRequest{}
if err := c.BodyParser(&req); err != nil {
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
"error": "invalid request",
})
}
if err := i.bodyValidator.Validate(req); err != nil {
return err
}
n, err := i.noteService.CreateNote(c.UserContext(), req)
if err != nil {
return err
}
if n == nil {
return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
"error": "failed to create note",
})
}
return c.Status(fiber.StatusCreated).JSON(api_schema.Note{
ID: n.ID,
})
}