Get a message @Summary Get a message from the database. @Description Get a message from the database by the message ID. @Security ApiKeyAuth @Tags Messages @Accept json @Produce json @Param messageID path string true "ID of the message" default(32343a19-da5e
(c fiber.Ctx)
| 455 | // @Failure 500 {object} responses.InternalServerError |
| 456 | // @Router /messages/{messageID} [get] |
| 457 | func (h *MessageHandler) Get(c fiber.Ctx) error { |
| 458 | ctx, span := h.tracer.StartFromFiberCtx(c) |
| 459 | defer span.End() |
| 460 | |
| 461 | ctxLogger := h.tracer.CtxLogger(h.logger, span) |
| 462 | |
| 463 | messageID := c.Params("messageID") |
| 464 | if errors := h.validator.ValidateUUID(messageID, "messageID"); len(errors) != 0 { |
| 465 | msg := fmt.Sprintf("validation errors [%s], while deleting a message with ID [%s]", spew.Sdump(errors), messageID) |
| 466 | ctxLogger.Warn(stacktrace.NewError(msg)) |
| 467 | return h.responseUnprocessableEntity(c, errors, "validation errors while storing event") |
| 468 | } |
| 469 | |
| 470 | message, err := h.service.GetMessage(ctx, h.userIDFomContext(c), uuid.MustParse(messageID)) |
| 471 | if stacktrace.GetCode(err) == repositories.ErrCodeNotFound { |
| 472 | return h.responseNotFound(c, fmt.Sprintf("cannot find message with ID [%s]", messageID)) |
| 473 | } |
| 474 | |
| 475 | if err != nil { |
| 476 | msg := fmt.Sprintf("cannot find message with id [%s]", messageID) |
| 477 | ctxLogger.Error(h.tracer.WrapErrorSpan(span, stacktrace.Propagate(err, msg))) |
| 478 | return h.responseInternalServerError(c) |
| 479 | } |
| 480 | |
| 481 | return h.responseOK(c, "message fetched successfully", message) |
| 482 | } |
| 483 | |
| 484 | // PostCallMissed registers a missed phone call |
| 485 | // @Summary Register a missed call event on the mobile phone |
nothing calls this directly
no test coverage detected