Skip to content

Commit f9bbeb9

Browse files
committed
chore(cammie): add back post method
1 parent 9a6c69a commit f9bbeb9

File tree

3 files changed

+21
-2
lines changed

3 files changed

+21
-2
lines changed

internal/server/api/message.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ func NewMessage(router fiber.Router, service service.Service) *Message {
2727

2828
func (m *Message) createRoutes() {
2929
m.router.Get("/last", m.getLast)
30+
m.router.Post("/", m.create)
3031
m.router.Post("/:id/reply", m.replyMsg)
3132
}
3233

@@ -39,6 +40,24 @@ func (m *Message) getLast(c *fiber.Ctx) error {
3940
return c.JSON(msg)
4041
}
4142

43+
func (m *Message) create(c *fiber.Ctx) error {
44+
var message dto.MessageSave
45+
46+
if err := c.BodyParser(&message); err != nil {
47+
return fiber.NewError(fiber.StatusBadRequest, err.Error())
48+
}
49+
if err := dto.Validate.Struct(message); err != nil {
50+
return fiber.NewError(fiber.StatusBadRequest, err.Error())
51+
}
52+
53+
newMessage, err := m.message.Create(c.Context(), message, nil)
54+
if err != nil {
55+
return err
56+
}
57+
58+
return c.Status(fiber.StatusCreated).JSON(newMessage)
59+
}
60+
4261
func (m *Message) replyMsg(c *fiber.Ctx) error {
4362
var reply dto.ReplySave
4463

internal/server/service/message.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ func (m *Message) GetLast(ctx context.Context) (dto.Message, error) {
168168
return dto.MessageDTO(msg), nil
169169
}
170170

171-
func (m *Message) Create(ctx context.Context, conn *websocket.Conn, msgSave dto.MessageSave) (dto.Message, error) {
171+
func (m *Message) Create(ctx context.Context, msgSave dto.MessageSave, conn *websocket.Conn) (dto.Message, error) {
172172
msg := msgSave.ToModel()
173173
if err := m.message.Create(ctx, msg); err != nil {
174174
zap.S().Error(err)

internal/server/ws/message.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ func (m *Message) create(c *websocket.Conn) {
7777
})
7878
}
7979

80-
created, err := m.message.Create(ctx, c, messageSave)
80+
created, err := m.message.Create(ctx, messageSave, c)
8181
if err != nil {
8282
_ = c.WriteJSON(dto.WSFrame{
8383
Event: "error",

0 commit comments

Comments
 (0)