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

Method StartSubscription

api/pkg/services/user_service.go:394–416  ·  view source on GitHub ↗

StartSubscription starts a subscription for an entities.User

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

Source from the content-addressed store, hash-verified

392
393// StartSubscription starts a subscription for an entities.User
394func (service *UserService) StartSubscription(ctx context.Context, params *events.UserSubscriptionCreatedPayload) error {
395 ctx, span := service.tracer.Start(ctx)
396 defer span.End()
397
398 user, err := service.repository.Load(ctx, params.UserID)
399 if err != nil {
400 msg := fmt.Sprintf("could not get [%T] with with ID [%s]", user, params.UserID)
401 return service.tracer.WrapErrorSpan(span, stacktrace.Propagate(err, msg))
402 }
403
404 user.SubscriptionID = &params.SubscriptionID
405 user.SubscriptionName = params.SubscriptionName
406 user.SubscriptionRenewsAt = &params.SubscriptionRenewsAt
407 user.SubscriptionStatus = &params.SubscriptionStatus
408 user.SubscriptionEndsAt = nil
409
410 if err = service.repository.Update(ctx, user); err != nil {
411 msg := fmt.Sprintf("could not update [%T] with with ID [%s] after update", user, params.UserID)
412 return service.tracer.WrapErrorSpan(span, stacktrace.Propagate(err, msg))
413 }
414
415 return nil
416}
417
418// InitiateSubscriptionCancel initiates the cancelling of a subscription on lemonsqueezy
419func (service *UserService) InitiateSubscriptionCancel(ctx context.Context, userID entities.UserID) error {

Callers 1

Calls 4

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

Tested by

no test coverage detected