MCPcopy Index your code
hub / github.com/NdoleStudio/httpsms / Get

Method Get

api/pkg/handlers/message_handler.go:457–482  ·  view source on GitHub ↗

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)

Source from the content-addressed store, hash-verified

455// @Failure 500 {object} responses.InternalServerError
456// @Router /messages/{messageID} [get]
457func (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

Callers

nothing calls this directly

Calls 12

ValidateUUIDMethod · 0.80
GetMessageMethod · 0.80
userIDFomContextMethod · 0.80
responseNotFoundMethod · 0.80
responseOKMethod · 0.80
StartFromFiberCtxMethod · 0.65
CtxLoggerMethod · 0.65
WarnMethod · 0.65
ErrorMethod · 0.65
WrapErrorSpanMethod · 0.65

Tested by

no test coverage detected