MCPcopy Create free account
hub / github.com/rilldata/rill / GetBillingSubscription

Method GetBillingSubscription

admin/server/billing.go:27–59  ·  view source on GitHub ↗
(ctx context.Context, req *adminv1.GetBillingSubscriptionRequest)

Source from the content-addressed store, hash-verified

25)
26
27func (s *Server) GetBillingSubscription(ctx context.Context, req *adminv1.GetBillingSubscriptionRequest) (*adminv1.GetBillingSubscriptionResponse, error) {
28 observability.AddRequestAttributes(ctx, attribute.String("args.org", req.Org))
29
30 org, err := s.admin.DB.FindOrganizationByName(ctx, req.Org)
31 if err != nil {
32 return nil, err
33 }
34
35 claims := auth.GetClaims(ctx)
36 forceAccess := claims.Superuser(ctx) && req.SuperuserForceAccess
37 if !claims.OrganizationPermissions(ctx, org.ID).ManageOrg && !forceAccess {
38 return nil, status.Error(codes.PermissionDenied, "not allowed to read org subscriptions")
39 }
40
41 if org.BillingCustomerID == "" {
42 return &adminv1.GetBillingSubscriptionResponse{Organization: s.organizationToDTO(org, true)}, nil
43 }
44
45 sub, org, err := s.getSubscriptionAndUpdateOrg(ctx, org)
46 if err != nil {
47 return nil, err
48 }
49
50 if sub == nil {
51 return &adminv1.GetBillingSubscriptionResponse{Organization: s.organizationToDTO(org, true)}, nil
52 }
53
54 return &adminv1.GetBillingSubscriptionResponse{
55 Organization: s.organizationToDTO(org, true),
56 Subscription: subscriptionToDTO(sub),
57 BillingPortalUrl: sub.Customer.PortalURL,
58 }, nil
59}
60
61func (s *Server) GetBillingCreditBalance(ctx context.Context, req *adminv1.GetBillingCreditBalanceRequest) (*adminv1.GetBillingCreditBalanceResponse, error) {
62 observability.AddRequestAttributes(ctx, attribute.String("args.org", req.Org))

Callers

nothing calls this directly

Calls 10

organizationToDTOMethod · 0.95
AddRequestAttributesFunction · 0.92
GetClaimsFunction · 0.92
subscriptionToDTOFunction · 0.85
StringMethod · 0.65
SuperuserMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected