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

Method storeSentMessage

api/pkg/services/message_service.go:1054–1092  ·  view source on GitHub ↗

storeSentMessage a new message

(ctx context.Context, payload events.MessageAPISentPayload)

Source from the content-addressed store, hash-verified

1052
1053// storeSentMessage a new message
1054func (service *MessageService) storeSentMessage(ctx context.Context, payload events.MessageAPISentPayload) (*entities.Message, error) {
1055 ctx, span := service.tracer.Start(ctx)
1056 defer span.End()
1057
1058 ctxLogger := service.tracer.CtxLogger(service.logger, span)
1059
1060 timestamp := payload.RequestReceivedAt
1061 if payload.ScheduledSendTime != nil {
1062 timestamp = *payload.ScheduledSendTime
1063 }
1064
1065 message := &entities.Message{
1066 ID: payload.MessageID,
1067 Owner: payload.Owner,
1068 Contact: payload.Contact,
1069 UserID: payload.UserID,
1070 Content: payload.Content,
1071 Attachments: payload.Attachments,
1072 RequestID: payload.RequestID,
1073 SIM: payload.SIM,
1074 Encrypted: payload.Encrypted,
1075 ScheduledSendTime: payload.ScheduledSendTime,
1076 Type: entities.MessageTypeMobileTerminated,
1077 Status: entities.MessageStatusPending,
1078 RequestReceivedAt: payload.RequestReceivedAt,
1079 CreatedAt: time.Now().UTC(),
1080 UpdatedAt: time.Now().UTC(),
1081 MaxSendAttempts: payload.MaxSendAttempts,
1082 OrderTimestamp: timestamp,
1083 }
1084
1085 if err := service.repository.Store(ctx, message); err != nil {
1086 msg := fmt.Sprintf("cannot save message with id [%s]", payload.MessageID)
1087 return nil, service.tracer.WrapErrorSpan(span, stacktrace.Propagate(err, msg))
1088 }
1089
1090 ctxLogger.Info(fmt.Sprintf("message saved with id [%s]", payload.MessageID))
1091 return message, nil
1092}
1093
1094// storeMissedCallMessage a new message
1095func (service *MessageService) storeMissedCallMessage(ctx context.Context, payload *events.MessageCallMissedPayload) (*entities.Message, error) {

Callers 1

SendMessageMethod · 0.95

Calls 5

StartMethod · 0.65
CtxLoggerMethod · 0.65
StoreMethod · 0.65
WrapErrorSpanMethod · 0.65
InfoMethod · 0.65

Tested by

no test coverage detected