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

Method CancelSubscription

api/pkg/services/user_service.go:459–481  ·  view source on GitHub ↗

CancelSubscription starts a subscription for an entities.User

(ctx context.Context, params *events.UserSubscriptionCancelledPayload)

Source from the content-addressed store, hash-verified

457
458// CancelSubscription starts a subscription for an entities.User
459func (service *UserService) CancelSubscription(ctx context.Context, params *events.UserSubscriptionCancelledPayload) error {
460 ctx, span := service.tracer.Start(ctx)
461 defer span.End()
462
463 user, err := service.repository.Load(ctx, params.UserID)
464 if err != nil {
465 msg := fmt.Sprintf("could not get [%T] with with ID [%s]", user, params.UserID)
466 return service.tracer.WrapErrorSpan(span, stacktrace.Propagate(err, msg))
467 }
468
469 user.SubscriptionID = &params.SubscriptionID
470 user.SubscriptionName = params.SubscriptionName
471 user.SubscriptionRenewsAt = nil
472 user.SubscriptionStatus = &params.SubscriptionStatus
473 user.SubscriptionEndsAt = &params.SubscriptionEndsAt
474
475 if err = service.repository.Update(ctx, user); err != nil {
476 msg := fmt.Sprintf("could not update [%T] with with ID [%s] after update", user, params.UserID)
477 return service.tracer.WrapErrorSpan(span, stacktrace.Propagate(err, msg))
478 }
479
480 return nil
481}
482
483// ExpireSubscription finishes a subscription for an entities.User
484func (service *UserService) ExpireSubscription(ctx context.Context, params *events.UserSubscriptionExpiredPayload) error {

Callers 1

Calls 4

StartMethod · 0.65
LoadMethod · 0.65
WrapErrorSpanMethod · 0.65
UpdateMethod · 0.65

Tested by

no test coverage detected