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

Method UpsertFCMToken

api/pkg/services/phone_service.go:231–255  ·  view source on GitHub ↗

UpsertFCMToken the FCM token for an entities.Phone

(ctx context.Context, params *PhoneFCMTokenParams)

Source from the content-addressed store, hash-verified

229
230// UpsertFCMToken the FCM token for an entities.Phone
231func (service *PhoneService) UpsertFCMToken(ctx context.Context, params *PhoneFCMTokenParams) (*entities.Phone, error) {
232 ctx, span, ctxLogger := service.tracer.StartWithLogger(ctx, service.logger)
233 defer span.End()
234
235 phone, err := service.repository.Load(ctx, params.UserID, phonenumbers.Format(params.PhoneNumber, phonenumbers.E164))
236 if stacktrace.GetCode(err) == repositories.ErrCodeNotFound {
237 return service.createPhone(ctx, params)
238 }
239
240 if err != nil {
241 msg := fmt.Sprintf("cannot upsert FCM token for user with id [%s] and number [%s]", params.UserID, params.PhoneNumber)
242 return nil, service.tracer.WrapErrorSpan(span, stacktrace.Propagate(err, msg))
243 }
244
245 phone.FcmToken = params.FcmToken
246 phone.SIM = params.SIM
247
248 if err = service.repository.Save(ctx, phone); err != nil {
249 msg := fmt.Sprintf("cannot update phone with id [%s] and number [%s]", phone.ID, phone.PhoneNumber)
250 return nil, service.tracer.WrapErrorSpan(span, stacktrace.Propagate(err, msg))
251 }
252
253 ctxLogger.Info(fmt.Sprintf("phone updated with id [%s] in the phone repository for user [%s]", phone.ID, phone.UserID))
254 return phone, service.dispatchPhoneUpdatedEvent(ctx, phone, params)
255}
256
257func (service *PhoneService) createPhone(ctx context.Context, params *PhoneFCMTokenParams) (*entities.Phone, error) {
258 ctx, span, ctxLogger := service.tracer.StartWithLogger(ctx, service.logger)

Callers 1

setupPhoneFunction · 0.45

Calls 7

createPhoneMethod · 0.95
StartWithLoggerMethod · 0.65
LoadMethod · 0.65
WrapErrorSpanMethod · 0.65
SaveMethod · 0.65
InfoMethod · 0.65

Tested by 1

setupPhoneFunction · 0.36